Google Guava 학습 노트 - Object 클래스에 대한 기본 도구 클래스 사용

5051 단어 Google
Guava는 Object 작업에 대한 다양한 방법을 제공합니다.
  1. toString 방법
디버깅을 편리하게 하기 위해 Tostring () 방법을 다시 쓰는 것은 필요하지만, 쓰기에는 심심합니다. 어쨌든 Objects 클래스는 TostringHelper 방법을 제공합니다. 사용하기가 매우 간단합니다. 다음 코드를 볼 수 있습니다.
  
public class Book implements Comparable<Book> {



    private Person author;

    private String title;

    private String publisher;

    private String isbn;

    private double price;            



    /*

     *  getter and setter methods

     */

 public String toString() {

      return Objects.toStringHelper(this)

              .omitNullValues()

              .add("title", title)

              .add("author", author)

              .add("publisher", publisher)

              .add("price",price) 

              .add("isbn", isbn).toString();

  }

 

}

새 버전에서는 원래의 방법, 원래의 방법 deprecated를 MoreObjects 클래스의 toStringHelper로 대체합니다.
2, 빈 값인지 확인
firstNonNull 메서드에는 두 개의 매개변수가 있으며 첫 번째 매개변수가 비어 있지 않으면 반환됩니다.비어 있으면 두 번째 인자를 되돌려줍니다.
    String value = Objects.firstNonNull("hello", "default value");
String value = MoreObjects를 사용하여 이 메서드도 폐기되었습니다.firstNonNull("hello", "default value"); 대신
3, 해시 코드 생성
public int hashCode() {

        return Objects.hashCode(title, author, publisher, isbn,price);

    }

4, CompareTo 구현 방법
우리의 이전 작법은 이렇다.
public int compareTo(Book o) {

        int result = this.title.compareTo(o.getTitle());

        if (result != 0) {

            return result;

        }



        result = this.author.compareTo(o.getAuthor());

        if (result != 0) {

            return result;

        }

        

        result = this.publisher.compareTo(o.getPublisher());

        if(result !=0 ) {

            return result;

        }

        

        return this.isbn.compareTo(o.getIsbn());

    }

향상된 방법:
public int compareTo(Book o) {

        return ComparisonChain.start()

                .compare(this.title, o.getTitle())

                .compare(this.author, o.getAuthor())

                .compare(this.publisher, o.getPublisher())

                .compare(this.isbn, o.getIsbn())

                .compare(this.price, o.getPrice())

                .result();

    }

 

좋은 웹페이지 즐겨찾기