java equals와 =, ==의 차이점 상세 소개

2799 단어 javaequals===구별
Java에서 equals와 ==의 차이점
java의 데이터 유형은 다음 두 가지로 나눌 수 있습니다.
1. 기본 데이터 유형, 원본 데이터 유형이라고도 합니다.byte,short,char,int,long,float,double,boolean 
그들 사이의 비교는 이등호(==)를 적용하여 그들의 값을 비교한다.
2. 복합 데이터 유형(클래스)
그들이 (==) 로 비교할 때, 비교한 것은 메모리에 저장된 주소이기 때문에, 같은 new가 나온 대상이 아니라면, 그들의 비교한 결과는true이고, 그렇지 않으면 비교한 결과는false이다.JAVA의 모든 클래스는 Object라는 기본 클래스에 계승된 것이다. Object의 기본 클래스에서 equals의 방법을 정의했다. 이 방법의 초기 행위는 비교 대상의 메모리 주소였지만 일부 라이브러리에서 이 방법은 덮어졌다. 예를 들어 String, Integer, Date는 이런 클래스에서 equals는 그 자체의 실현이 있고 비교류가 메모리에 저장된 주소가 아니다.
복합 데이터 형식 간에 equals 비교를 하는 데 있어 equals 방법을 덮어쓰지 않은 상황에서 그들 간의 비교는 메모리에 저장된 위치의 주소 값을 바탕으로 한다. 왜냐하면 Object의 equals 방법도 이등호(==)로 비교한 것이기 때문에 비교한 결과는 이등호(==)의 결과와 같다.
java equals와 =, ==의 차이
1. ==equals와의 차이
1. == 연산자입니다.
2. equals는 String 객체의 방법입니다.
일반적으로 두 가지 유형의 비교가 있다
1. 기본 데이터 유형 비교
2. 참조 객체의 비교
1. 기본 데이터 유형 비교
== equals와 비교하는 것은 값이 같은지, 같은지true, 그렇지 않으면false
2. 참조 객체의 비교
= equals와 비교는 창고 메모리의 주소가 같은지, 같은지true, 그렇지 않으면false
참고:
1. String은 특수한 인용 데이터 형식입니다. == 문자열 대상의 인용 주소가 같은지, equals는 창고의 내용이 일치하는지 비교합니다.

 String ss = new String("abc");
 String sss = new String("abc");

 if(ss == sss){
  System.out.println("ss == sss is true");  
 }
 if(ss.equals(sss)){
  System.out.println("ss equals sss is true");
 }

콘솔 출력:
ss != sss
ss equals sss
표시: ss와 sss가 창고에 있는 메모리 주소는 다르지만 더미에 있는 내용은 같습니다.
String ss = new String("abc");
String ssss = ss;

// ss ssss 

  if(ss == ssss){
  System.out.println("ss == ssss");
 }else{
  System.out.println("ss != ssss");
 }

// ss ssss 
  if(ss.equals(ssss)){
  System.out.println("ss equals ssss");
 }else{
  System.out.println("ss not equals ssss");
 }

콘솔 출력:
ss == ssss
ss equals ssss
이것은 ss와 ssss가 같은 대상이고 그들이 쌓은 내용이 같다는 것을 나타낸다
2. 참조 객체의 비교

  TestBean obj1 = new TestBean();
  TestBean obj2 = new TestBean();
  TestBean obj3 = obj1;
  if(obj1 == obj2){
  System.out.println("obj1 == obj2");
  }else{
  System.out.println("obj1 != obj2");
  }
  
  if(obj1 == obj3){
  System.out.println("obj1 == obj3");
  }else{
  System.out.println("obj1 != obj3");
  }

콘솔 출력:
obj1!= obj2
obj1== obj3
obj1과obj2는 같은 대상이 아니며, 창고의 인용 주소가 다르다는 것을 나타낸다
obj1과obj3는 같은 대상입니다. 창고의 인용 주소가 같습니다
2. =equals ==와 구별
= 는 값을 부여하는 것을 나타냅니다. 곧 = 오른쪽의 값을 왼쪽의 변수에 부여합니다.equals 및 == 는 작업을 나타냅니다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기