Java8新特性 - Objects

在 Java 7 中引入的 java.util.Objects 类在 Java 8 中得到了扩展,提供了一些实用的静态方法,用于执行对象操作。

  1. requireNonNull 方法:检查对象是否为 null。

    String name = null;
    Objects.requireNonNull(name, "Name cannot be null");
    
    • 问题解决: 避免了手动检查 null 并抛出 NullPointerException,提高了代码的清晰性和可读性。
  2. equals 方法:安全地比较两个对象是否相等。

    Object obj1 = "Hello";
    Object obj2 = "Hello";
    boolean isEqual = Objects.equals(obj1, obj2);
    
    • 问题解决: 避免了在比较对象时手动处理 null,提供了一种更简洁和安全的比较方式。
  3. deepEquals 方法:递归比较两个对象的数组是否相等。

    Object[] array1 = {1, 2, 3};
    Object[] array2 = {1, 2, 3};
    boolean areArraysEqual = Objects.deepEquals(array1, array2);
    
    • 问题解决: 提供了递归比较数组内容的方法,避免了手动编写复杂的数组比较逻辑。
  4. hash 方法:生成对象的哈希码。

    int hashCode = Objects.hash("Hello", 42, 3.14);
    
    • 问题解决: 提供了一种便捷的方式来生成对象的哈希码,无需手动实现 hashCode 方法。
  5. isNullnonNull 方法:判断对象是否为 null 或非 null。

    String text = "Hello";
    boolean isNull = Objects.isNull(text);
    boolean nonNull = Objects.nonNull(text);
    
    • 问题解决: 提供了简便的方法来检查对象是否为 null,提高了代码的清晰性。
  6. requireNonNullElserequireNonNullElseGet 方法:提供默认值或者通过 Supplier 获取默认值。 Java 9 版本引入。

    String name = null;
    String defaultName = Objects.requireNonNullElse(name, "Unknown");
    
    • 问题解决: 在对象为 null 时提供了一种更简洁的方式来提供默认值,而无需手动进行条件判断。

这些方法的引入解决了在对象操作中常见的一些问题,如空指针异常、对象比较和哈希码生成等。它们提供了更简洁、清晰和安全的方式来执行这些操作,有助于减少样板代码的编写,提高代码的可维护性。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1引言................................................ ............................................................. ................................ 3 1.1结构............................................ ................................................. ............................................. 3 1.2支持的语言............................................... .................................................................... .......... .4 1.3使用COM对象模型的效果.......................................... ........................................................... 4 1.4 DicomObjects中的集合.............................................. .............................................................. 4 1.5 Dicom对象的DICOM数据表示........................................................................ ....................... 5 1.6解释和使用序列............................................. .......................................................................... 7 1.7私有属性............................................... .................................................................... ............... 7 2第一步 - 阅读,查看和写入DICOM文件................................................................... ............. 9 2.1您的第一个DICOM计划............................................. ............................................................. 9 2.2将映像写入磁盘............................................ ......................................................................... 10 3通过网络简单地发送和接收图像........................................ .................................................... 11 3.1发送图像.................................................. ................................................................ .............. 11 3.2接收图像............................................... ..................................................................... ............ 11 4查询/检索(SCU)........................................... .......................................................... .............. 13 4.1公共特性............................................... ................................................................... .............. 13 4.2 DoQuery ............................................... ................................................................................ . 14 4.3 GetImages ............................................... ............................................................................... 14 4.4 GetUsingMove ................................................ ........................................................................15 4.5 DoRawQuery ................................................ ...........................................................................15 4.6 MoveSync ................................................ ................................................................................15 4.7 MoveImages ................................................ ............................................................................15 4.8基于Dicom连接的Q / R方法........................................... ............................ ....... ......... ..... 15 5离线媒体............................................. ................................................. ..... ....... ........................17 5.1阅读............................................... ................................................. .......... ....... ....... ..............17 5.2创建................................................ ................................................. ....................................... 18 5.3更新............................................... ................................................. ........................................ 19 5.4乘以引用的目录记录............................................. ................................................................ 19 6打印............................................ ................................................. .............................................. 20 6.1使用DicomPrint打印.................................................. ........................................................... 20 6.2使用标准化操作打印............................................. ................................................................ 22 6.3将DICOM图像打印到Windows打印机.......................................... ..................................... 22 7将DICOM图像导出到其他格式........................................... .................................................... 23 7.1单帧............................................... ................................................. ........................................ 23 7.2多帧图像/电影........................................... ............................................................................. 23 7.3非文件导出............................................. ...................................................................... ......... 23 8高级图像审查站............................................. ........................................................................... 24 8.1基本查看控件................................................ ......................................................................... 24 8.2多帧(电影)图像.......................................... ....................................................................... 24 8.3注释............................................ ................................................. ........................................... 25 8.4查找表............................................... ................................................. .................................... 28 8.5 DICOM灰度呈现状态............................................. ................................................................ 28 8.6显示速度优化................................................ ......................................................................... 29 9网络使用............................................... ......................................................... ........................... 31 9.1在Web服务器上运行DicomObjects . .... .......................................... ................................... 31 9.2在Web客户端上运行DicomObjects .......... .... .................................. .................................. 33 10写路由器/修改器.................................. .... .... .............. ...................................................... ... 35 11编写DICOM服务器............................................. ................................................................ ... 36 11.1聆听协会的对象........................................... ........................................................................ 36 11.2验证协会............................................... ................................................................................ 37 11.3处理C-STORE操作............................................ ................................................................... 37 11.4处理查询/检索请求............................................ ................................................................. 38 11.5处理C-ECHO请求............................................ .................................................................... 42 11.6传输语法和质量问题............................................ ............................................................... 42 11.7性能和可靠性问题............................................. .................................................................. 43 11.8模态WorkList SCP .............................................. .................................................................. 44 11.9打印SCP ............................................... ................................................. .............................. 44 11.10存储承诺SCP ................................................ ..................................................................... 45 12访问和修改像素数据............................................ .................................................................. 46 12.1原始指针的语言............................................. ...................................................................... 46 12.2使用变量数组的语言............................................. .............................................................. 47 13创建DICOM图像.............................................. .................................................................. ... 48 13.1导入其他格式................................................ ....................................................................... 48 13.2导入多帧图像.................................................. ..................................................................... 49 13.3从划痕............................................... ................................................................... ............... 50 14使用模态WorkList作为SCU ........................................... ...................................................... 52 15语言特定功能.............................................. ............................................................................ 53 15.1 Visual Basic ............................................... .................................................. ......................... 53 15.2 VBScript ................................................ ................................................. .............................. 53 15.3应用程序的Visual Basic(例如MS Access)........................................ ............................. 53 15.4 Microsoft Visual C ++ ................................................ ........................................................ ... 53 15.5 Borland Delphi和Borland C ++ Builder ........................................... .................................... 55 15.6 Java ................................................ ................................................. ..................................... 56 15.7其他环境............................................... ................................................. .............................. 56 16日志记录................................................ ................................................. ................................ 57 16.1日志详细信息和级别............................................. ........................................................... .. 57 16.2文件记录............................................... ................................................. .............................. 57 16.3 DicomLog控制................................................ ...................................................................... 58 17高级使用............................................... ................................................. ................................. 59 17.1超车注册表值............................................ ........................................................................... 59 17.2更改默认SOP类的列表.......................................... ............................................................ 59 17.3传输语法选择.................................................. ..................................................................... 60 17.4私人SOP类................................................ .................................................................. ....... 61 17.5私有传输语法........................................................................................................................ 61 17.6存储承诺............................................... ............................................................................ ... 61

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值