- 浏览: 62282 次
- 性别:
- 来自: 成都
文章分类
最新评论
//该类是一个工具类,主要封装了对对象的equals,hashcode,compare和check 异常等方法。 //先看构造函数: //工具类,所以构造函数是私有的。防止反射创建对象所以抛出异常。 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; else return Arrays.deepEquals0(a, b); } //返回对象的hashCode public static int hashCode(Object o) { return o != null ? o.hashCode() : 0; } //对数组中的对象返回hash码 public static int hash(Object... values) { return Arrays.hashCode(values); } //返回Object的toString public static String toString(Object o) { return String.valueOf(o); } //如果object是null返回默认的字符串 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); } //check NPE public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } //check NPE 并且给出指定的信息 public static <T> T requireNonNull(T obj, String message) { if (obj == null) throw new NullPointerException(message); return obj; } //判断一个对象是否是null public static boolean isNull(Object obj) { return obj == null; } //判断一个对象是否不为null public static boolean nonNull(Object obj) { return obj != null; } //check NPE 消息由指定的Supplier提供 public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier) { if (obj == null) throw new NullPointerException(messageSupplier.get()); return obj; }
发表评论
-
读java Optional 源码
2018-06-01 20:00 382//该类是jdk1.8新增的类,主要是为了解决NPE问题。 ... -
读AbstractStringBuilder源码
2017-10-16 16:56 346//该类是StringBuilder和StringBuff ... -
读String源码
2017-10-16 15:17 460//先看构造函数 public String() { ... -
java编译编码问题
2017-10-02 11:35 355最近由一个编码问题。让我对另一个编码问题产生了疑惑。 即我们在 ... -
在java服务端设置允许跨域请求
2017-08-29 10:58 2619//写一个filter对response进行过滤 pub ... -
java从数据库中查出来二次封装基于注解
2018-03-05 22:33 529实现类似于mybatis一对多关系和一对一关系: 上代码: ... -
java从数据库中查出来二次封装基于XML
2018-03-05 22:22 315实现类似于mybatis的配置关系一对多或者一对一的实现:基于 ... -
对abstract关键字的另一番理解
2017-03-22 16:10 260直接上代码: public abstract class An ... -
JVM垃圾回收历史
2017-02-17 16:30 319从网上看到一篇文章讲述垃圾回收的历史搬运过来: 为什么要有G ... -
看String源码的疑惑
2016-10-21 15:27 416今天看JDK String 源码有一段代码实在没想通,网上也没 ... -
java final关键字
2016-10-09 22:03 328final关键字的主要用于申明这个东西是不可变的。用于设计以及 ... -
java for each循环的原理
2016-10-09 21:18 453这篇介绍java for each原理的文章写的很棒,转过来m ... -
关于java内部类
2016-10-09 21:10 269关于java内部类,这篇文章写的非常好。尊重作者的劳动成果: ... -
java static关键字的作用
2016-10-05 17:23 257static关键字的设计初衷,套用thinking in ja ... -
关于反射泛型的封装
2016-09-11 16:16 429最近用到了jackson转json。看了下TypeRefere ... -
java到底是按照值传递还是引用传递
2016-07-25 19:45 392public class Transfer { pub ...
相关推荐
ASP读报系统很可能通过ADO(ActiveX Data Objects)与数据库进行交互,如SQL Server或Access。ADO提供了一套统一的接口来操作不同类型的数据库,实现数据的查询、添加、修改和删除。在ASP中,通常使用ADODB....
它可能使用了AJAX(Asynchronous JavaScript and XML)技术来实现无刷新的页面更新,比如收发邮件、标记已读未读等操作。此外,JavaScript也可能用于表单验证,提高用户体验,避免无效或错误的数据提交到服务器。 ...
3. **DAO(Data Access Objects)**:这些类封装了对数据库的操作,通常由Spring管理,并通过Hibernate的Session接口进行数据交互。 4. **Service层**:服务层组件处理业务逻辑,它们调用DAO来实现对数据的增删改查...
【标题】"易语言光速服务器读数据库内容源码"主要涵盖了两个核心概念:易语言和数据库操作。易语言是中国本土开发的一种高级编程语言,它以其直观易懂的语法设计,使得初学者能够快速上手编程。而"光速服务器"在这里...
本示例源码提供了一种使用ActiveX Data Objects(ADO)与Microsoft Access交互的方法,这在开发Windows应用程序时非常常见。以下是关于ADO操作Access的一些关键知识点: 1. **ActiveX Data Objects (ADO)**:ADO是...
【标题】"基于PHP的读怪小说连载系统源码.zip" 涉及的主要知识点是PHP编程语言在构建网络应用,特别是小说连载平台中的运用。PHP是一种广泛使用的开源服务器端脚本语言,特别适合Web开发,可以嵌入到HTML中使用。这...
这涉及到易语言的数据库访问接口,如ODBC(Open Database Connectivity)或ADO(ActiveX Data Objects),这些接口提供了与各种数据库系统通信的标准方式。 在设计查询分析器时,开发者可能采用了以下关键知识点: ...
【易语言】是这款源码的核心编程语言,它的设计思想是“易学、易用、易读、易写”。易语言的语法简洁明了,其基本结构是“对象+方法”的形式,易于理解和掌握。它支持多种数据类型,如整型、字符串、数组等,并且有...
使用良好的命名规范、注释和代码结构可以使代码更易读、易维护。此外,配合版本控制系统如Git,可以方便团队协作和版本回溯。 10. **部署与自动化** 企业网PHP源码通常会包含部署脚本或配置文件,以便快速在...
【ASP源码—志翔电子读报系统】是一款基于ASP技术构建的电子读报平台,主要服务于网络媒体、教育机构和个人用户,提供便捷的在线阅读和管理报纸资源的服务。该系统可能包含以下关键知识点: 1. **ASP(Active ...
通常,PHP会使用MySQL作为后端数据库,通过PDO(PHP Data Objects)或者mysqli扩展来实现与数据库的交互。在这个留言簿系统中,数据库可能包含了如`gbook`这样的表,存储留言ID、用户名、留言内容、时间戳等信息。...
Wrance图片系统目录直读版 v1.0的源码提供了学习ASP和动态网站开发的机会,特别是对于那些希望了解如何处理静态资源和构建简单Web应用的初学者来说,这是一个很好的实践案例。同时,源码分析也提醒我们,直接使用...
通过XML或注解的方式,可以将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 4. **数据库设计**:项目包含了完整的数据库设计,这通常包括数据表的结构、字段定义、主键外键...
- 数据管理:如果源码包含数据库连接,可能使用了ADO (ActiveX Data Objects) 来与数据库交互,如SQL Server或Access。 - 动态内容生成:ASP可以动态生成页面内容,例如根据用户登录状态显示个性化链接。 - SEO优化...
总结来说,"基于PHP的vivi天涯易读网采集程序v2.9源码.zip"是一个利用PHP编程语言编写的网络数据采集工具,涉及到PHP的基础语法、Web爬虫技术、数据库操作以及可能的PHP框架应用。通过学习和研究此源码,开发者可以...
5. 数据库交互:ASP新闻发布系统通常会与数据库如Access或SQL Server进行交互,使用ADO(ActiveX Data Objects)来执行SQL查询,如添加、更新和检索新闻数据。 6. 安全性:在实际部署时,必须注意防止SQL注入、跨站...
2. 数据库交互:源码中应该有与数据库进行交互的部分,如用户信息存储、书籍列表管理、章节内容存储等,通常会用到ADO(ActiveX Data Objects)来操作SQL Server或Access等数据库。 3. 书籍管理:系统可能包含书籍...
STL的设计理念是“分离关注点”,即数据结构(容器)和操作(算法)分离,使得代码更易读、更易维护。通过对“STL程序员开发指南源码”的学习,你可以深入了解STL的内部实现,包括容器如何管理内存,迭代器如何遍历...
在IT领域,特别是软件开发与数据库管理中,利用Visual C++(VC)结合ActiveX Data Objects(ADO)技术来动态操作Microsoft Access数据库是一项常见的需求。本文将深入解析如何使用VC和ADO技术动态打开并操作Access...
2. **数据库连接与操作**:源码中必定包含了与数据库的交互部分,例如使用ODBC(Open Database Connectivity)或者ADO(ActiveX Data Objects)进行数据库连接,执行SQL查询语句来获取库存信息。这涉及到数据库连接...