본문 바로가기

Java56

인텔리제이 스프링부트 오류 맨 처음에 pom에 스프링부트에 대한 정보를 다 써줬는데, 빌드 자체가 안된다. 스프링 정보를 찾을 수 없다나.. 파일->프로젝트 구조-> 모듈에서 내가 만든 restapi란 모듈을 -를 통해 제거했다. 그리고 +를 눌러 모듈 가져오기 경로 클릭을 누르면 다음과 같이 정보가 뜬다. 난 빌드를 메이븐으로 설정해놔서, 그래들은 어떡해야하는지는 모르겠다. -..- 그리고 다시 빌드하니깐 정보를 가져왔다. 2020. 7. 1.
인텔리제이 세팅 인코딩 정보를 UTF-8로 바꿔준다. 플러그인에서 한글버전 받는다. 좀 Visual studio 같아졌다. -..- 2020. 7. 1.
Effective Java #09 equals를 재정의할 때는 반드시 hashCode도 재정의하라 equals 함수를 재정의하는 클래스는 반드시 hashCode 함수도 재정의 해야 한다.그렇지 않으면 Object.hashCode의 일반 규약을 어기게 되므로, HashMap, HashSet, Hashtable같은 해시(hash) 기반 컬렉션과 함꼐 사용하면 오동작하게 된다. Object 클래스 명에서 복사해 온 일반 규약은 다음과 같다. 응용프로그램 실행 중에 같은 객체의 hashCode를 여러 번 호출하는 경우 equals가 사용하는 정보들이 변경되지 않았다면 언제나 동일한 정수(integer)가반환되야 한다.다만 프로그램이 종료되었다가 다시 실행되어도 같은 값이 나올 필요는 없다. equals(Object) 함수가 같다고 판정한 두 객체의 hashCode 값은 같아야 한다. equals(Object.. 2016. 4. 17.
Effective Java #08 equals를 재정의할 때는 일반 규약을 따르라 equals 함수는 재정의하기 쉬워 보이지만 실수할 여지도 많고, 그 결과는 끔찍하다고 한다.가장 간단한 방법은 equals 함수를 재정의 하지 않는 것인데 개인적으로 공통 함수로 제공되는 것들은 그냥 사용하는 것이좋다고 생각한다. 꼭 필요할 경우에만 재정의 하도록 하자. 그렇다면 Object.equals를 재정의하는 것이 바람직할 때는 언제인가?객체동일성(object equality)이 아닌 논리적 동일성(logical equality)의 개념을 지원하는 클래스일 때, 그리고 상위 클래스의 equals가 하위 클래스의 필요를충족하지 못할 때 재정의해야 한다. equals 함수를 정의할 때 준수해야 하는 일반 규약은 다음과 같다.(Object 클래스 명세에서 복사한 것이다.)동치 관계(equivalenc.. 2016. 4. 17.