반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • js
  • js 패스워드 변경
  • js 비밀번호
  • 초보개발
  • 제이쿼리 비밀번호
  • css
  • 청춘고양이
  • 가위바위보js
  • 쉬프트 연산
  • spring 기본설정
  • 스크롤js
  • 제이쿼리
  • 객체 안의 함수
  • 중복 제거 로또
  • ScrollEffectJs
  • js 로또 번호
  • 제이쿼리 버튼클릭시 색 변경
  • 자바db연동
  • 자바
  • 제이쿼리 패스워드 변경

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이
JAVA

Java의 Objects 클래스: 유용한 유틸리티 메서드

JAVA

Java의 Objects 클래스: 유용한 유틸리티 메서드

2024. 6. 25. 13:49
반응형

Java의 Objects 클래스는 Java 7에서 도입된 유틸리티 클래스입니다. 이 클래스는 객체를 다루는 데 유용한 메서드들을 제공하여 개발자가 더 안전하고 간편하게 코드를 작성할 수 있도록 도와줍니다. 이번 글에서는 Objects 클래스의 주요 메서드들과 그 사용 예를 살펴보겠습니다.

1. equals(Object a, Object b)

이 메서드는 두 객체가 동일한지 여부를 확인합니다. 특히 null-safe 하다는 점이 큰 장점입니다. 두 객체 중 하나가 null인 경우에도 NullPointerException을 발생시키지 않고 동등성을 확인할 수 있습니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "hello";
        String str3 = null;
        
        System.out.println(Objects.equals(str1, str2)); // true
        System.out.println(Objects.equals(str1, str3)); // false
    }
}

2. hash(Object... values)

여러 객체의 해시 코드를 결합하여 하나의 해시 코드를 생성합니다. 이를 통해 여러 필드를 포함한 객체의 고유한 해시 코드를 만들 수 있습니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String name = "John";
        int age = 30;
        
        System.out.println(Objects.hash(name, age)); // 해시 코드 출력
    }
}

3. hashCode(Object obj)

객체의 해시 코드를 반환합니다. 객체가 null인 경우 0을 반환합니다. 이 메서드는 해시 기반 컬렉션 (예: HashMap, HashSet)에서 유용하게 사용됩니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String str = "hello";
        String nullStr = null;
        
        System.out.println(Objects.hashCode(str));    // str의 해시 코드 출력
        System.out.println(Objects.hashCode(nullStr)); // 0 출력
    }
}

4. isNull(Object obj)

객체가 null인지 확인합니다. 이 메서드를 사용하면 null 체크를 더 간결하게 작성할 수 있습니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String str = null;
        
        if (Objects.isNull(str)) {
            System.out.println("The string is null");
        }
    }
}

5. nonNull(Object obj)

객체가 null이 아닌지 확인합니다. null이 아닌지 확인할 때 유용합니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String str = "hello";
        
        if (Objects.nonNull(str)) {
            System.out.println("The string is not null");
        }
    }
}

6. requireNonNull(T obj)

객체가 null이 아닌지 확인하고, null일 경우 NullPointerException을 발생시킵니다. 메서드 인자나 반환값이 null이 아닌지 보장할 때 사용합니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String str = null;
        
        try {
            Objects.requireNonNull(str, "String cannot be null");
        } catch (NullPointerException e) {
            System.out.println(e.getMessage()); // "String cannot be null" 출력
        }
    }
}

7. toString(Object obj)

객체의 문자열 표현을 반환합니다. 객체가 null인 경우 "null"을 반환합니다. 이는 문자열 결합이나 출력에 유용합니다.

import java.util.Objects;

public class Main {
    public static void main(String[] args) {
        String str = "hello";
        String nullStr = null;
        
        System.out.println(Objects.toString(str));    // "hello" 출력
        System.out.println(Objects.toString(nullStr)); // "null" 출력
    }
}

결론

Java의 Objects 클래스는 객체를 다룰 때 유용한 다양한 유틸리티 메서드들을 제공합니다. 이를 통해 코드의 가독성을 높이고, null 체크를 간편하게 할 수 있습니다. 위에서 설명한 주요 메서드들을 활용하여 더 안전하고 효율적인 코드를 작성해보세요.

반응형
저작자표시 변경금지 (새창열림)

'JAVA' 카테고리의 다른 글

조건문에서 if만 사용할까? else if를 사용할까?  (0) 2024.06.27
Java의 Wrapper 클래스: 기본 자료형을 객체로 다루는 방법  (0) 2024.06.25
DTO, VO  (0) 2024.01.12
This  (0) 2022.11.08
캡슐화  (0) 2022.11.08
  • 결론
'JAVA' 카테고리의 다른 글
  • 조건문에서 if만 사용할까? else if를 사용할까?
  • Java의 Wrapper 클래스: 기본 자료형을 객체로 다루는 방법
  • DTO, VO
  • This
청춘고양이
청춘고양이
신입개발자
배움을 기록하는 곳신입개발자

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.