java.util.Objects工具类示例
2016-12-09 14:57
405 查看
java.util.Objects是java 1.7引入的,主要是对对象的一些常用操作,比如compare、equals/deepEquals、hash/hashCode、isNull/nonNull、requiredNonNull、toString这12个常用方法。
Student类
运行结果:
Student类
public class Student { private String name; private Integer age; public Student(String name, Integer age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public int hashCode() { return this.getAge(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; //if (age != other.age) // return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } }测试类:
import java.util.Comparator; import java.util.Objects; import java.util.function.Supplier; public class ObjectsTest { public static void main(String[] args) { Student obj_01 = new Student("zhangsan", 30); Student obj_02 = new Student("zhangsan", 20); // 1 System.out.println("01. Objects.compare----->" + Objects.compare(obj_01, obj_02, new Comparator<Student>(){ @Override public int compare(Student o1, Student o2) { return o1.getAge().compareTo(o2.getAge()); } })); // 2 System.out.println("02. Objects.deepEquals----->" + Objects.deepEquals(obj_01, obj_02)); // 3 System.out.println("03. Objects.equals----->" + Objects.equals(obj_01, obj_02)); // 4 Object[] obj_04 = new Object[]{obj_01, obj_02}; System.out.println("04. Objects.hash---->" + Objects.hash(obj_04)); // 5 System.out.println("05. Objects.hashCode---->" + Objects.hashCode(obj_01)); // 6 Object obj_06 = null; System.out.println("06. Objects.isNull----->" + Objects.isNull(obj_06)); // 7 Object obj_07 = null; System.out.println("07. Objects.nonNull---->" + Objects.nonNull(obj_07)); // 8 Object obj_08 = 1; System.out.println("08. Objects.requireNonNull----->" + Objects.requireNonNull(obj_08)); // 9 Object obj_09 = 1; System.out.println("09. Objects.requireNonNull----->" + Objects.requireNonNull(obj_09, "The object cann't be null.")); // 10 Object obj_10 = 1; System.out.println("10. Objects.requireNonNull----->" + Objects.requireNonNull(obj_10, new Supplier<String>(){ @Override public String get() { return "The Object cann't be null..."; } })); // 11 Object obj_11 = "123"; System.out.println("11. Objects.toString----->" + Objects.toString(obj_11)); // 12 Object obj_12 = "222"; System.out.println("12. Objects.toString----->" + Objects.toString(obj_12, "234") + "<----->" + Objects.toString(null, "234")); } }
运行结果:
01. Objects.compare----->1 02. Objects.deepEquals----->true 03. Objects.equals----->true 04. Objects.hash---->1911 05. Objects.hashCode---->30 06. Objects.isNull----->true 07. Objects.nonNull---->false 08. Objects.requireNonNull----->1 09. Objects.requireNonNull----->1 10. Objects.requireNonNull----->1 11. Objects.toString----->123 12. Objects.toString----->222<----->234
相关文章推荐
- java.util.Objects工具类
- Java压缩文件工具类ZipUtil使用方法代码示例
- 【Java】java.util.Objects 工具类方法研究
- 【Java】java.util.Objects 工具类方法研究
- Java实现的JSONUtil工具类与用法示例
- 关于日期时间操作工具类DateUtil(二) -----对java.sql.Timestamp 的操作.
- 【转】Java工具类——资源文件解析类PropertiesUtil
- java.util.logging使用示例
- Java学习总结9-----java.util中一些实用的工具类
- 字符串工具类 StringUtil.java
- java中Object和工具类Objects的使用
- 关于日期时间操作工具类DateUtil(一)-----对java.util.Date 的操作.
- JDK1.4的java.util.Logging包的使用说明与示例
- java使用jdbc连接数据库工具类和jdbc连接mysql数据示例
- PathUtil java中获取路径的工具类,如WebClassesPath、WebInfPath、WebRoot
- 【java工具类】IPUtil
- Java 获取固定格式的日期工具类 DateUtil
- J2EE工具类:DateUtil .java
- java.util.Timer工具类
- Java StringUtil 用法示例