1."=="equals 방법과 차이점은? 1.== 조작부호는 기본 데이터 형식 변수에 대해 두 값이 같은지 비교하는 것이고 인용 유형에 대해서는 인용된 메모리의 첫 번째 주소, 즉 같은 대상을 인용하는 것을 비교한다.1
Obeject의 equals 방법은 구체적인 업무에 따라 개발자가 이를 다시 쓰고 다시 쓰지 않으며 기본적으로 =를 사용한다.(Object 클래스에는 두 가지 방법으로 객체의 ID를 추정할 수 있습니다: equals()와 hashCode().만약 equals () 방법에 따라 두 대상이 서로 같다고 판단한다면, 이 두 대상 중의 모든 호출hashCode () 방법은 반드시 같은 정수 결과를 생성할 것이다.그러나 반대로 두 개의hashCode()가 되돌아오는 결과가 같으면 두 대상의 equals() 방법은 반드시 같지 않다.기본적으로 equals () 방법은 두 대상의 주소 값을 비교하는 데 사용되고 원시적인hashCode () 방법은 그 대상의 물리적 주소를 되돌려주는 데 사용됩니다)
String은 equals 메소드를 다시 쓰는 세 가지 방법이 있습니다.
비교 대상과 현재 대상이 같은 대상(Object의 equals 방법)이고true로 되돌아오기;
들어오는 대상은String 유형으로 두 문자열의 길이를 비교하고 서로 다른false를 되돌려준다. 길이가 같으면 한 글자씩 비교하고 한 글자씩true를 되돌려준다.
들어오는 대상은 String 형식이 아니며false로 되돌아갑니다.
2.==와 equal 주의
포장류의'=='연산은 산술 연산을 만나지 않은 상황에서 자동으로 상자를 뜯지 않는다
포장류의 equals() 방법은 데이터 변환을 처리하지 않는다
2. String, StringBuilder, StringBuffer 차이점
String은 내용이 변할 수 없는 문자열로 밑바닥에final char[] 배열 StringBuffer와 StringBuilder 밑바닥에final 키워드가 없습니다.
String에 대한 수정은 사실 new에 String Builder가 있고 append 방법을 호출한 다음에 toString을 호출해서 새로운String을 되돌려줍니다.
StringBuffer는StringBuilder를 바탕으로 자물쇠를 잠그는 것이다. 자물쇠는 중량급 작업으로 운영체제의 핵을 호출하여 실현해야 하기 때문에 시간이 비교적 걸린다.따라서 효율성: String