Google Guava 학습 노트 - Object 클래스에 대한 기본 도구 클래스 사용
5051 단어 Google
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();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
how to realize GMap텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.