본문 바로가기

Java22

split 세부적으로 사용하기 자바에서 split을 사용해 원하는 단어를 기준으로 구분할 수 있다는 사실은 대부분 알 것이다. 그런데 검색을 하다가 split을 신기하게 사용하는 방식이 있어 메모해 두려고 한다. 아래 예제를 보면, ","를 기준으로 구분한다고 할 때 나눠진 항목에 대해서 인덱스 번호를 부여해 내가 원하는 단어만 쉽게 가져올 수 있다. 12345678910111213141516public class mainClass { public static void main(String[] args) { String str = "IT,개발의,세상"; String val1 = str.split(",")[0]; String val2 = str.split(",")[1]; String val3 = str.split(",")[2]; Sys.. 2019. 4. 22.
[Effective Java] try with resources try with resources를 사용해라 Effective Java를 보다가 신기한 부분을 발견했다. 나는 보통 try ~ catch, try ~ catch ~ finally 등 단순히 예외처리를 할 때 사용한다. 라는게 내가 아는 전부였다. 자바 라이브러리에는 close메소드를 호출해 직접 닫아줘야 하는 자원이 많다. 대표적으로 InputStream, OutputStream, java.sql.Connection 등이 있다. 대부분이 try-finally를 사용해 close메소드를 사용하곤 한다. static String firstLineOfFile(String path)throws IOException { BufferedReader br = new BufferedReader(new FileReade.. 2019. 3. 29.
자바 valueOf() 자바 valueOf Wrapper 클래스들(Integer, Character, Double, String 등)은 모두 valueOf메소드를 가지고 있다. valueOf 메소드를 통한 객체와 new 키워드를 통한 객체에는 차이점이 있다. 가능하면 valueOf메소드를 사용해야 한다. 간단하게 보면 Integer a = 10; Integer b = new Integer(10); Integer c = Integer.valueOf(10); 위 값을 서로 비교하면 어떻게 될까? a와 c는 같지만 b와는 다르다는 값이 나오게된다. Wrapper 클래스는 내부적으로 캐시가 존재하기 때문이다. 오토박싱과 valueOf 메소드는 이 캐시를 통해 객체를 가져온다. 반면, new는 캐시와 상관없이 새로운 객체를 생성한다. .. 2019. 3. 28.
Iterator Iterator자바의 컬렉션 프레임워크에 저장되어 있는 요소들을 읽어오는 방법의 표준화 방법 중 하나 구성public interface Iterator{ boolean hasNext(); Object next(); void remove(); }hasNext()Iterator가 순방향으로 이동하는데, 가리키는 데이터저장소의 현재 위치에서 이동할 항목이 있는지 체크.이동할 항목이 있다면 true, 없다면 false 리턴 next()Iterator가 자신이 가리키는 데이터저장소에서 현재위치를 순차적으로 하나 증가해서 이동함hasNext()가 true를 리턴하는 동안 next() 메소드로 실제 이동. 각 반복문 별 사용법​ // using iterators for a clloection of String obj.. 2019. 3. 26.