728x90

==

  • 비교를 위한 연산자
  • 주소의 값을 비교한다.(Call By Reference)
  • 주소의 값이란 실제 내용의 값이 아닌 자료의 위치의 값

 

equals()

  • equals()는 객체끼리 내용을 비교한다.(Call By Value)

 

equals(), == 비교 코드

public class Main {

    public static void main(String[] args) throws Exception{

        String str1 = "abc";
        String str2 = str1;
        String str3 = new String("abc");

        // == 연산자는 주소를 비교.
        System.out.println(str1 == str2); // true
        // str2 에 st1 값을 넣었으므로 주소를 같이 공유 한다.

        System.out.println(str1 == str3); // false
        // str1 과 str3는 각각 생성 되었으므로 주소가 다르다.

        // equals() 는 내용을 비교한다.
        System.out.println(str1.equals(str2)); // ture
        System.out.println(str1.equals(str3)); // true
        // 내용을 비교하기 때문에 abc 내용이 같으므로 true 가 반환.

    }
}
728x90

'Java & Spring' 카테고리의 다른 글

[JAVA] BufferedRead, BufferedWriter  (0) 2022.02.22
[JAVA] Math.max(), Math.min() 최대,최소값 구하기  (0) 2022.02.21
[JAVA] Scanner 스캐너  (0) 2022.02.20
[Spring] @RequestMapping 사용법  (0) 2022.02.11
[JAVA] Map이란  (0) 2022.02.10
728x90

Map

  • Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 Key를 통해 Value를 얻는다.
  • 값(Value)은 중복될 수 있지만, Key는 고유한 값(Unique)을 가져야 한다.
Map<String, String> map = new HashMap<>();

 

Map 예제

Map<String, String> map = new HashMap<>();

map.put("name", "doik");
map.put("age", "33");

System.out.println(map.get("name")); // "doik"

 

결론

  • Key를 통해 Value를 찾는다.
  • Key는 중복될 수 없지만, Value는 중복될 수 있다.
  • Key로 Value를 찾기 때문에 순서를 유지하지 않아도 된다.
  • Key에 해당하는 값이 이미 존재하면 값을 갱신한다.
728x90

+ Recent posts