JAVA

java.lang패키지와 유용한 클래스

moonstal 2022. 3. 8. 01:47

- Object클래스: 모든클래스의 최고 조상. 오직 11개의 메서드만 가지고 있다.

- equals(Object obj):  객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 true, 다르면 false

  Object클래스의 equals()는 객체의 주소를 비교(참조변수 값 비교)

 

- hashCode(): 객체의 해시코드를 반환하는 메서드

  객체의 주소를 int로 변환해서 반환

  equals()를오버라이딩하면, hashCode()도 오버라이딩해야한다

  equals()의 결과가 true인 두객체의 해시코드는 같아야 하기 때문*

 

- toString(): 객체를 문자열로 변환하기 위한 메서드

 

- String 클래스: 데이터(char[])+메서드(문자열 관련)

  내용을 변경할 수 없는 불변 클래스

  덧셈 연산자를 이용한 문자열 결합은 성능이 떨어짐-> 스트링버퍼사용

  String str="abc"; 공유함

  String str=new String("abc"); 항상 새로운 객체 생성

  문자열 리터럴은 프로그램 실행시 자동으로 생성됨(constant pool에 저장)

- 빈문자열"" 내용이 없는 문자열. 크기가 0인 char형 배열을 저장하는 문자열

 

- join() 여러 문자열 사이에 구분자를 넣어서 결합

  String animals= "dog,cat,bear"; 

  String[] arr = animals.split(",");

  String str = String.join("-",arr);

 

- 숫자를 문자열로: 숫자+""; / String.valueOf(i)

- 문자열을 숫자로: Integer.parseInt("100");/Integer.valueOf("100");

 

- 배열은 길이 변경불가 공간이 부족하면 새로운 배열 생성해야

 

- StringBuilder 동기화 안됨

- StringBuffer 동기화 되어있음 데이터 보호 멀티쓰레드에 안전

 

- 래퍼 클래스: 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스