본문 바로가기

프로그래밍 언어 (プログラミング言語)/JAVA

for:each문은 조회(read)만 가능(write 불가능) LinkedList queue = new LinkedList(); for(LinkedList queue:queues) // for:each 문은 조회(read)만 가능하다. queue = new LinkedList(); // 에러! 아래와 같이 수정을 해야 한다. for(int x = 0;x < queues.length;x++) queues[x] = new LinkedList(); 더보기
컬렉션 사용 시, equals(), hashCode() 오버라이딩 공식 https://incheol-jung.gitbook.io/docs/q-and-a/java/hashcode-equals hashCode()와 equals() - Incheol's TECH BLOG #define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw, lp64_product) \\ develop(bool, InlineObjectHash, true, \\ product(intx, hashCode, 5, \\ incheol-jung.gitbook.io 위 사이트 참조 더보기
toString() 호출에 의한 무한 루프 더보기
Proxy 객체의 equals(),hashCode()는 꼭 [Getter]로 값 비교를 해야 한다~~~~~~~~~~~~~~~!!!!!!!!!!! 더보기
JAVA 정렬 [최종본] 배열 정렬 : 1] Arrays.sort(객체 배열, Collections.reverseOrder()); // 내림차순 2]Arrays.sort(객체 배열, new Comparator(){ @Override public int compare (Integer a, Integer b){ return a-b; } }); EX) public static void main(String[] args) { List a = new ArrayList(); a.add(1); a.add(5); a.add(4); a.add(3); a.add(5); a.add(6); a.add(7); a.add(3); a.add(5); a.add(12); Collections.sort(a, new Comparator() { @Override .. 더보기
equals()와 hashCode()의 오버라이딩은 [자동 완성 기능]을 사용하자 위와 같이 equals()의 오버라이딩은 꽤나 복잡하다. 그래서 강사 왈 " equals()의 오버라이딩은 왠만해서는 자동으로 완성하는 기능을 사용해서 오버라이딩 해라"라고 하심 그리고, equlas()를 오버라이딩할 때, 꼭 hashCode()도 같이 오버라이딩을 해줘야 한다. 왜냐하면, 그래야지만 HashMap과 같안 JAVA Collection을 사용할 때, Hash Function을 효율적으로 사용할 수 있다고 함 (솔직히 이 부분은 나도 잘 파악이 안됨) 더보기
equals()의 default " == " 비교, 즉 같은 인스턴스인가에 대한 비교이다. ( 참조값이 같은지를 비교해버린다) equals()에 대한 overriding을 통해 값을 비교하도록 재정의해야 한다. 더보기
불변 객체(Immutable Object) Immutable Object : 객체 생성 시점 이후에는 절대 값을 변경할 수 없는 객체 How?? 1. 생성자(Constructor)로만 값을 설정 2. 수정자(Setter)를 만들지 않음 -> Wrapper Class, String은 JAVA가 제공하는 대표적인 Immutable Obejct 더보기