import java.math.BigDecimal;
import org.hamcrest.CoreMatchers;
import org.junit.Assert;
import com.google.common.base.MoreObjects;/*** TODO 在此写上类的相关说明.<br>* @author gqltt <br>* @version 1.0.0 2021年11月11日<br>* @see * @since JDK 1.5.0*/
public class MoreObjectsDemo {/*** @param args*/public static void main(String[] args) {firstNull();Book book = Book.newInstance("Microservices Pattern", "Chris Richardson", "机械工业出版社", new BigDecimal("139.00"), "9787111624127");System.out.println(book);//Book{title=Microservices Pattern, author=Chris Richardson, publisher=机械工业出版社, price=139.00, isbn=9787111624127}}/*** 第一个值非null则第一个,否则第二个.*/static void firstNull() {String value = "bar";String returned = MoreObjects.firstNonNull(null, value);Assert.assertThat(returned, CoreMatchers.is(value));}static class Book {/*** 书名.*/private String title;/*** 作者.*/private String author;/*** 出版社.*/private String publisher;/*** 价格.*/private BigDecimal price;/*** ISBN.*/private String isbn;/*** 简介.*/private String introduce;public static Book newInstance(String title, String author, String publisher, BigDecimal price, String isbn) {final Book book = new Book();book.title = title;book.author = author;book.publisher = publisher;book.price = price;book.isbn = isbn;return book;}/*** toString工具.*/public String toString() {return MoreObjects.toStringHelper(this).omitNullValues().add("title", title).add("author", author).add("publisher", publisher).add("price",price).add("isbn", isbn).add("introduce", introduce).toString();}}
}