#18 [Java] substring, object

    ๐Ÿ“Œ .substring()

    : ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์ฃผ๋Š” ๋ฉ”์„œ๋“œ

    ๐Ÿ’ก String substring(int startIndex)
    : startIndex ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

    String str = "0123456789";
    System.out.println(str.substring(5));
    56789

    ๐Ÿ’ก String substring(int startIndex,int endIndex)
    : startIndex ๋ถ€ํ„ฐ endIndex-1 ๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

    String str = "0123456789";
    System.out.println(str.substring(3,8));
    0123456789
    34567 //3๋ถ€ํ„ฐ 8-1 ๊นŒ์ง€ ์ถœ๋ ฅ

    ๐Ÿšจ endIndex-1 ์„ ์กฐ์‹ฌํ•˜์ž!

    ๐Ÿ“Œ Object Class

    : java.lang ํŒจํ‚ค์ง€ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค
    Object ํด๋ž˜์Šค๋Š” ์ž๋ฐ”์˜ ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์ตœ์ƒ์œ„ ํด๋ž˜์Šค
    ๐Ÿ‘‰ ๋ชจ๋“  ํด๋ž˜์Šค๋Š” Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์Œ
    ๋”ฐ๋ผ์„œ, Object ํด๋ž˜์Šค์—์„œ ์ƒ์†๋ฐ›์€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž๊ธฐ ์ž์‹  ํด๋ž˜์Šค์— ๋งž๊ฒŒ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด,
    ๋ณด๋‹ค ํšจ๊ณผ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค

    ๐Ÿ’ก Object ์ฃผ์š” ๋ฉ”์„œ๋“œ
    1. equals
    : ๋‘ ๊ฐ์ฒด์˜ ๋ ˆํผ๋Ÿฐ์Šค ๊ฐ’์ด ๊ฐ™์œผ๋ฉด "true", ๋‹ค๋ฅด๋ฉด "false" ๋ฐ˜ํ™˜

    2. toString()
    : ํŠน์ • ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝํ•ด์คŒ, ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜

    3. clone()
    : ์ž๊ธฐ ์ž์‹  ๊ฐ์ฒด๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ธฐ๋Šฅ


    DataAccessObject.java

    	/* TODO List ์ฝ์–ด์˜ค๊ธฐ */
    	public ArrayList<ToDoBean> getToDoList(ToDoBean searchInfo) {
    		ArrayList<ToDoBean> dayList = null;
    		ToDoBean toDo = null;
    		String line;
    		BufferedReader buffer = null;
    		int date, recordCount=1;
    		int[] dateRange = new int[2];
    		
    		try {
    			buffer = new BufferedReader(new FileReader(new File(fileInfo[searchInfo.getFileIdx()])));
    			while((line=buffer.readLine()) != null) { //ํ•œ์ค„์”ฉ ์ฝ์–ด
    				if(recordCount == 1) dayList = new ArrayList<ToDoBean>(); //์ฒ˜์Œ์— ์ƒ์„ฑ์ž ํ˜ธ์ถœ
    				
    				String[] record = line.split(","); //์ฝค๋งˆ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๊ณ 
    				date = Integer.parseInt(searchInfo.getStartDate()); //202210๊นŒ์ง€๋งŒ ๋ฐ›์•„์˜ฌ๊ฑฐ
    				dateRange[0] = Integer.parseInt(record[1].substring(0, 8));
    				dateRange[1] = Integer.parseInt(record[2].substring(0, 8));
    				
    				if(date > dateRange[0]/100) dateRange[0] = Integer.parseInt(date+"01");
    				if(date < dateRange[1]/100) dateRange[1] = Integer.parseInt(date+"30");
    				
    				for(int idx=dateRange[0]; idx<=dateRange[1]; idx++) {
    					toDo = new ToDoBean();
    					toDo.setStartDate(idx+"");
    					dayList.add(toDo);
    				}
    				
    				recordCount++;
    			}
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		
    		return dayList;
    	}
    }

     

    ๊ฐœ์ธ์ ์ธ ์ฝ”๋“œ๋ถ„์„. . .

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€