JAVA

#18 [Java] substring, object

dP fla 2022. 10. 27. 17:38

πŸ“Œ .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;
	}
}

 

개인적인 μ½”λ“œλΆ„μ„. . .

 

λ°˜μ‘ν˜•