Java7 Jackson 라이브러리 NoSuchMethodError 오류 자바 프로젝트로 Jackson 라이브러리를 활용해 개발하던 중 아래와 같은 오류가 발생하였다.Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()V at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:4047) at CategoryManager.toJson(CategoryManager.java:51) at CategoryTree.main(CategoryTree.java:38) Jackson 3가지 라이브러리 jackson-core, databind, .. 2024. 8. 5. [JAVA 자바] equals()메소드와 ==연산자 차이 equals() 메소드 String 클래스안에 equals() 메소드는 오버라이딩이 되어 데이터 값을 비교하기 때문에 값을 비교할 때는 equals() 메소드를 사용해야 함. == 연산자 참조 타입 변수들 간의 연산은 동일한 객체를 참조하는지, 다른 객체를 참조하는지 알아볼 때 사용한다. 그러므로, 참조 타입의 변수의 값은 힙 영역의 객체 주소이므로 결국 주소 값을 비교하는 것이 되어 다르다는 결론이 나옴. 그런데, == 연산자로 int형, char형등에서 값을 비교 하던데.. 기본 타입의 int형, char형등은 Call by Value 형태로 기본적으로 대상에 주소값을 가지지 않는 형태로 사용되지만, String은 일반적인 타입이 아니라 클래스로서, Call by Reference 형태로 생성 시 주.. 2022. 9. 28. [JAVA 자바] hashCode() 메소드 해시코드란 객체를 식별하는 하나의 정수값 hashCode() 메소드 해싱기법에 사용되는 해시함수를 구현한 것으로, 객체의 해시코드값을 반환한다. hashCode() 메소드의 규약? 1) 변경되지 않은 한 객체의 hashCode 메소드를 호출한 결과는 항상 똑같은 integer 값이어야 한다. 객체가 변경 되었더라도, equals() 메소드가 참고하는 정보가 변경되지 않았다면, hashCode() 값은 달라지지 않는다. 2)equals() 메소드가 같다고 판별한 두 객체의 hashCode() 호출 결과는 똑같은 integer 값이어야 한다. 3) java.lang.Object.equals 메소드가 다르다고 판별한 두 객체의 hashCode()의 값이 반드시 달라야하는 것은 아니다. : 단, 같지 않은 객체.. 2022. 9. 27. [Java 자바] equals Object equals equals()의 실제 내용이다. 두 객체의 같고 다름을 참조변수의 값으로 판단하기 때문에, 서로 다른 두 객체를 equals()메서드로 비교하면 항상 false로 결과를 가져올 것이다. 한마디로, equals()는 두 인스턴스의 주소값을 비교하여 같은 인스턴스인지를 확인하고 같으면 true, 다르면 false의 boolean값을 리턴하는 메서드이다. 에? String으로 값을 비교할 때, true로 가져올 때는 뭐에요? 주소값을 비교할 때 사용하는 equals()라면서요..뭐지!? String 클래스의 equals()는 오버라이딩 즉, 재정의가 되어있기 때문에 Object 클래스의 equal()와는 다르다. 객체가 자기 자신과의 주소값이 같으면 true를 리턴한다. 주소 값이 .. 2022. 9. 22. [JAVA 자바]try-with-resource File을 사용할 때, close() 메소드를 왜 사용해야할까? try-with-resource문을 알아보기에 앞서, File을 사용할 때, 왜 close() 메소드를 사용해야할까? 자바에서 파일의 연결을 잡고 close() 반환을 하지 않으면, 다른 프로세스에서 사용 중이므로 파일에 접근할 수 없다라는 에러가 발생한다. 만약 서버 프로그램에서 close를 안하게 된다면, 다른 프로세스에서는 접근을 할 수 없는 끔찍한 사태가 벌어질 수도 있어서 오라클에서는 try-catch를 사용해서 close( ) 메소드를 예외 처리하는 것보다, try-with-resources를 사용하는 것을 권장한다. Try-With-Resources를 권하다 Java SE 7 이전 버전에서는 try 문이 정상적으로 완료되는지 또.. 2022. 9. 19. [JAVA 자바] 예외처리 try catch finally try문 예외 발생할 가능성이 있는 코드 문장을 try문 안에 넣는다. try 블록 내에서 예외가 발생하면 해당 예외가 연결된 예외 처리기에 의해 처리가 된다. 예외 처리기를 try문과 연결하려면, try문 뒤에 catch문을 작성해줘야 함. try { //code } //catch and finally blocks . . . catch문 try문 바로 뒤에 하나 이상의 catch문을 제공하여 예외 처리기를 try문과 연결할 수 있다. 어떠한 코드도 try문의 끝과 첫 번째 catch문의 시작 사이에 있을 수 없다. 처리기가 처리할 수 있는 예외 유형을 선언하며, Throwable클래스로부터 상속하는 클래스의 이름이어야 함. 예외 처리기는 오류 메시지를 인쇄하거나 프로그램을 중지하는 것 이상의 작업을 수.. 2022. 9. 19. 이전 1 2 다음