Object 和 Objects 的区别
一、Object 类
package java.lang;public class Object {private static native void registerNatives();static {registerNatives();}public final native Class<?> getClass();public native int hashCode();public boolean equals(Object obj) {return (this == obj);}protected native Object clone() throws CloneNotSupportedException;public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}public final native void notify();public final native void notifyAll();public final native void wait(long timeout) throws InterruptedException;public final void wait(long timeout, int nanos) throws InterruptedException {if (timeout < 0) {throw new IllegalArgumentException("timeout value is negative");}if (nanos < 0 || nanos > 999999) {throw new IllegalArgumentException("nanosecond timeout value out of range");}if (nanos > 0) {timeout++;}wait(timeout);}public final void wait() throws InterruptedException {wait(0);}protected void finalize() throws Throwable { }
}
二、Objects 类
Objects 类是 final 修饰的类,不可继承,内部方法都是 static 方法,从 jdk1.7 开始才引入了 Objects 类。
源码:
package java.util;import java.util.function.Supplier;public final class Objects {private Objects() {throw new AssertionError("No java.util.Objects instances for you!");}public static boolean equals(Object a, Object b) {return (a == b) || (a != null && a.equals(b));}public static boolean deepEquals(Object a, Object b) {if (a == b)return true;else if (a == null || b == null)return false;elsereturn Arrays.deepEquals0(a, b);}public static int hashCode(Object o) {return o != null ? o.hashCode() : 0;}public static int hash(Object... values) {return Arrays.hashCode(values);}public static String toString(Object o) {return String.valueOf(o);}public static String toString(Object o, String nullDefault) {return (o != null) ? o.toString() : nullDefault;}public static <T> int compare(T a, T b, Comparator<? super T> c) {return (a == b) ? 0 : c.compare(a, b);}public static <T> T requireNonNull(T obj) {if (obj == null)throw new NullPointerException();return obj;}public static <T> T requireNonNull(T obj, String message) {if (obj == null)throw new NullPointerException(message);return obj;}public static boolean isNull(Object obj) {return obj == null;}public static boolean nonNull(Object obj) {return obj != null;}public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier) {if (obj == null)throw new NullPointerException(messageSupplier.get());return obj;}
}
Object 和 Objects 的区别相关推荐
- Object和Objects的区别
Object类 如果一个类没有指定父类,默认就是继承Object类. Object类里面共有11个方法: 经常用到的equals(),toString()都是直接使用或者重写的Object里面的这些方 ...
- API:Math、System、Object、Objects、equals、toString、BigDecimal
API: Application Programming Interface 应用程序接口 简单来说:就是Java已经帮我们写好的接口,直接拿来用即可 api文档--甲骨文官网---下载java-- ...
- java之Thread.sleep(long)与object.wait()/object.wait(long)的区别及相关概念梳理(good)
一.Thread.sleep(long)与object.wait()/object.wait(long)的区别 sleep(long)与wait()/wait(long)行为上有些类似,主要区别如下: ...
- html标签object和embed,html标签object和embed的区别
object和embed的区别 The code in bold above is the actual code that you need to place in your page to emb ...
- flash文本呈现html啥意思,显示flash内容时用的OBJECT和EMBED标签区别介绍
显示flash内容时用的OBJECT和EMBED标签区别介绍 发布时间:2014-05-13 18:03:29 作者:佚名 我要评论 要在网页中正常显示flash内容,那么页面中必须要有指定f ...
- Object和Objects(java)
Object和Objects 文章目录 Object和Objects Object Object的构造方法 Object的成员方法 public String toString() public bo ...
- scala class和object,trait的区别
2019独角兽企业重金招聘Python工程师标准>>> Scala类 class Counter {private var value = 0 // 必须初始化字段def incre ...
- scala(3):class和object,trait的区别
2019独角兽企业重金招聘Python工程师标准>>> Scala类 1 2 3 4 5 6 7 8 9 10 11 12 13 class Counter { private va ...
- AS3中Object与Dictionary的区别
AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类. Dictionary类和Object唯一的区别在于: Dictionary对象可以使用非字符串作为键 ...
最新文章
- ffmpeg php 抠像_PHP中使用ffmpeg截取视频图片笔记
- 用Everything搜索指定的路径
- 数据类型之Integer与int
- HTML5 Web Storage用法
- android scrollow嵌套listview,excel 中IDEX和MATCH函数嵌套应用.doc
- 简易RAM的C++实现
- es浏览器连接电脑找不到服务器,es文件浏览器,详细教您es文件浏览器怎么连接电脑...
- 有声小说php源码,PHP魅雅有声小说联盟程序源码 v7.7.2
- autocad 职称计算机,2015职称计算机考试《AutoCAD》考点总结(1)
- 薇娅直播卖火箭,B 站酒泉发卫星,航天贴标生意凭什么?
- vue实现中英文切换
- 修改植物大战僵尸游戏存档
- ChucK初步(10)
- 天风掌财社新股认购如何操作?
- Cortana与应用程序的后台交互
- 君越更换初装变速箱油教程
- 菜鸟读财报,如何从上市公司财报中挖情报?--微博转载
- Java实现HighCharts纯后台图表生成
- 不用带眼镜 东芝裸眼3D电视9个角度随便看
- 互联网测试校招系列1:赢在测试岗位
热门文章
- Mac安装docker(轻松解决安装)
- spring异步线程传递线程上下文
- c语言50个学生3课成绩平均成绩,C语言:有5个学生,每个学生有3门课的成绩,从键盘输入学生数据,计算平均成绩...
- PHP实现微信获取用户基本信息(openid、头像、昵称)
- 【感悟】2019/3/11
- Excel批量插入多行
- 全球与中国车队管理咨询服务市场现状及未来发展趋势
- lol男爵领域服务器未响应,lol男爵领域登录不了怎么办?男爵领域怎么登陆不上?...
- 20221208 QT----新建工程
- 三步教你鉴别iPad阴阳屏