类Objects
Object类是什么?
在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。
在比较两个对象的时候,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法就优化了这个问题。
常用方法:
- public static boolean equals(Object a, Object b):判断两个对象是否相等。
 
查看源码:
 public static boolean equals(Object a, Object b) {
            //考虑对象为空的情况
            return (a == b) || (a != null && a.equals(b));
        }
案例演示:
package demo01;
import java.util.Objects;
public class DemoObjects {
    public static void main(String[] args) {
        // 创建三个对象,作为测试数据
        String s = "abc";
        String s1 = null;
        char[] c = {'a', 'b', 'c'};
        String s2 = new String(c);
        // 判断是否相等
        System.out.println(Objects.equals(s, s1));
        System.out.println(Objects.equals(s, s2));
        System.out.println(Objects.equals(s1, s2));
    }
}
执行结果:

结论:
Objects类中的equals方法就优化了Object的equals方法容易抛出空指针异常的问题。
类Objects的更多相关文章
- django-改写manage类-objects
		
user/models.py中 class AddressManage(models.Manager): '''地址模型管理类''' def get_default_addr(self, user): ...
 - 最终父类【根类】:Object类&Objects类
		
一.java.lang.Object类 1.Object类介绍 Object类是所有类的父类.一个类都会直接或间接继承自该类:  该类中提供了一些非常常用的方法! 2.toString()方法 A: ...
 - JDK中工具类的使用
		
JDK中内置了很多常用的工具类,且多以“s”结尾,如:集合工具类Collections,数组工具类Arrays,对象工具类Objects,文件工具类Files,路径工具类Paths,数学工具类Math ...
 - Guava工具类
		
原文链接:http://blog.csdn.net/mnmlist/article/details/53425865 Objects类 Objects类有几个比较不错的方法,toString.hash ...
 - java集合框架部分相关接口与类的介绍
		
集合基础 接口 Iterable //Implementing this interface allows an object to be the target of the "for-ea ...
 - Java_常用类API之一
		
Math类 Math类中包含一些对数据进行数学运算的方法,而该类中的方法全都是静态的.像这样的类称之为工具类. 1 public static int abs(int a) 2 对一个数据求绝对值 3 ...
 - Django_模型类详解(七)
		
# 定义书籍模型类 class BookInfo(models.Model): btitle = models.CharField(max_length=20) # 书籍名称 bpub_date = ...
 - 异常分类和异常的产生过程解析和Objects非空判断
		
java.lang.Throwable类是java语言中所有错误的异常的超类. Exception:编译期异常,进行编译(写代码)java程序出现的问题 RuntimeExeption:运行期异常,j ...
 - Java类的继承与多态特性-入门笔记
		
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
 
随机推荐
- 一套代码小程序&Web&Native运行的探索04——数据更新
			
接上文:一套代码小程序&Web&Native运行的探索03 对应Git代码地址请见:https://github.com/yexiaochai/wxdemo/tree/master/m ...
 - DirectX11 初探XMVECOTR&XMMATRIX
			
初探DX11的数学库:向量XMVECOTR,矩阵XMMATRIX |XMVECTOR(XNA数学库的向量) DirectX中的一个核心数据类型为 XMVECTOR对它的运算可以使用SIMD指令集加速( ...
 - spring boot 集成 zookeeper 搭建微服务架构
			
PRC原理 RPC 远程过程调用(Remote Procedure Call) 一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远程系统资源,R ...
 - .NetCore WebAPI采坑之路(持续更新)
			
1.WebAPI新增日志过滤器or中间件后Action读取到的请求Body为空问题 案例: 自定义了一个中间件,用于记录每次访问webapi的入参,以及引用了Swagger. 先看下面这段代码: pu ...
 - 取之有道——巧用Root权限 启动其他APP中的Activity
			
这次博主来分享一个很巧妙的办法来启动其他APP中Activity的方法. 首先说一下这样做的目的:最近博主在攻克一个技术难点,就是搞定某些三方系统中,对于应用权限的限制.为此给出用户指导,引导用户启动 ...
 - 用VS2017进行移动开发(C#、VB.NET)——OfflineCameraButton控件,Smobiler移动开发
			
OfflineCameraButton控件 一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个OfflineCam ...
 - tomcat部署项目后,war包是否可刪?war包存在必要性!
			
在tomcat中webapps目錄上傳war包后, 对war解压时候. war不能在tomcat运行时删除,否则会删除自动解压的工程. 你可以停止tomcat后删除war. 当你重新部署的时候,如果 ...
 - mybatis bug之org.apache.ibatis.exceptions.PersistenceException:
			
详细报错信息: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java. ...
 - 原生 table css实现操作按钮固定右侧及底部滚动 IE不会卡死
			
需求的表格比较复杂(各种合并新增删除),elementUi的table组件无法满足需求,故而写了原生table,且与其他用了table组件的表格保持一致. 贴一下简单的代码,只实现操作按钮固定右侧以及 ...
 - iOS---------获取当前年份
			
NSDate * senddate=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [d ...