转自:http://www.iteye.com/topic/470396
在开源java工具包里,最有名的当属apache commons。其中,以commons lang包最为开发者熟知。
但是它作为第三方包存在,或多或少给开发者带来一些不便利。
面包牛奶总是会有的,从java7开始,lang包中的一些优秀工具方法,将被正式引入JDK。
下面是各个已确定被引入的工具类或方法说明。
1, 新增类 java.util.Objects (JDK对工具类的命名一向是以s结尾,例如Collections, Arrays)
A, 空指针安全的 equals, hashCode, toString, defaultNull 方法。
即入参传入NULL,工具方法不会抛空指针异常。
调用方法举例:
Boolean result = Objects.equals(obj1, obj2);
B, 比较对象的大小(需要实现Comparable)。
T Objects.max(T comparable1, T comparable2)
T Objects.min(T comparable1, T comparable2)
2, 系统工具类新增一些取环境信息的工具方法。 (java.lang.System)
以往,你需要通过 System.getProperties(”user.dir”) 这样来取。现在只需要调用一下工具方法就可以了。
File System.getJavaIoTempDir() // IO临时文件夹
File System.getJavaHomeDir() // JRE的安装目录
File System.getUserHomeDir() // 当前用户目录
File System.getUserDir() // 启动java进程时所在的目录
3, 包装类型安全转换到原始类型的工具方法。
boolean Boolean.booleanValue(Boolean obj, boolean defaultValue)
char Character.charValue(Character obj, char defaultValue)
byte Byte.byteValue(Byte obj)
byte Byte.byteValue(Byte obj, byte defaultValue)
short Short.shortValue(Short obj)
short Short.shortValue(Short obj, short defaultValue)
int Integer.intValue(Integer obj)
int Integer.intValue(Integer obj, int defaultValue)
long Long.longValue(Long obj)
long Long.longValue(Long obj, long defaultValue)
float Float.floatValue(Float obj)
float Float.floatValue(Float obj, float defaultValue)
double Double.doubleValue(Double obj)
double Double.doubleValue(Double obj, double defaultValue)
4, 针对包装类型的Boolean,提供了更具可读性和空指针安全的工具方法。
boolean Booleans.isTrue(Boolean booleanObj)
boolean Booleans.isFalse(Boolean booleanObj)
boolean Booleans.isNotTrue(Boolean booleanObj)
boolean Booleans.isNotFalse(Boolean booleanObj)
5, Boolean类型反转,空指针安全
Boolean Booleans.negate(Boolean booleanObj)
True => False , False => True, Null => Null
6, Boolean参与位运算
boolean Booleans.and(boolean[] array)
boolean Booleans.or(boolean[] array)
boolean Booleans.xor(boolean[] array)
boolean Booleans.and(Boolean[] array)
boolean Booleans.or(Boolean[] array)
boolean Booleans.xor(Boolean[] array)
7, 两个char间的equals
boolean Character.equalsIgnoreCase(char ch1, char ch2)
8, 声明一批空数组常量,各种类型
Boolean[] Boolean.EMPTY_ARRAY
boolean[] Boolean.EMPTY_PRIMITIVE_ARRAY
Character[] Character.EMPTY_ARRAY
char[] Character.EMPTY_PRIMITIVE_ARRAY
Byte[] Byte.EMPTY_ARRAY
byte[] Byte.EMPTY_PRIMITIVE_ARRAY
Short[] Short.EMPTY_ARRAY
short[] Short.EMPTY_PRIMITIVE_ARRAY
Integer[] Integer.EMPTY_ARRAY
int[] Integer.EMPTY_PRIMITIVE_ARRAY
Long[] Long.EMPTY_ARRAY
long[] Long.EMPTY_PRIMITIVE_ARRAY
Float[] Float.EMPTY_ARRAY
float[] Float.EMPTY_PRIMITIVE_ARRAY
Double[] Double.EMPTY_ARRAY
double[] Double.EMPTY_PRIMITIVE_ARRAY
String[] String.EMPTY_ARRAY
Class[] Class.EMPTY_ARRAY
Object[] Objects.EMPTY_OBJECT_ARRAY
甚至通过Class类型来取空数组。
Boolean.class.emptyArray();
9, 数组长度判定工具类,空指针安全
boolean Arrays.isEmpty(Object[] array)
int Arrays.size(Object[] array)
10, 集合长度判定工具类,空指针安全
boolean Collections.isEmpty(Collection coll)
int Collections.size(Collection coll)
boolean Collections.isEmpty(Map map)
int Collections.size(Map map)
11, 空指针安全的ClassName获取
String Class.getName(Class cls)
String Class.getSimpleName(Class cls)
String Class.getPackageName(Class cls)
12, 可以直接解析locale信息字符串的工具方法
Locale parse(String localeStr)
13, 提供根据语言取国家列表或根据国家取语言列表的工具方法
List Locale.countriesByLanguage(String langaugeStr)
List Locale.languagesByCountry(String countryStr)
14, 安全的加减乘除
int Math.safeToInt(long value)
int Math.safeNegate(int value)
long Math.safeNegate(long value)
int Math.safeAdd(int value1, int value2)
long Math.safeAdd(long value1, int value2)
long Math.safeAdd(long value1, long value2)
int Math.safeSubtract(int value1, int value2)
long Math.safeSubtract(long value1, int value2)
long Math.safeSubtract(long value1, long value2)
int Math.safeMultiply(int value1, int value2)
long Math.safeMultiply(long value1, int value2)
long Math.safeMultiply(long value1, long value2)
分享到:
相关推荐
总的来说,Java openPlantV4+ API 是一个针对实时数据库操作的高度封装工具,它通过JNI技术提高了性能,简化了API的使用,并提供了订阅功能以适应实时数据应用场景。开发者可以通过集成这个库,更轻松地在Java应用...
本手册为JDK-API-1.8版本,java中文版api手册。JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具...
这个文档包含了Java SE(标准版)8的所有公共API,是理解和使用新特性的关键工具。让我们深入探讨Java 8 API中的一些核心概念和重要特性。 1. **Lambda表达式** Java 8引入了lambda表达式,这是一种简洁的函数式...
这个API文档是开发者理解和使用Java平台标准版(Java SE)7功能的关键工具。以下是Java 1.7 API中的主要知识点: 1. **类型推断(Type Inference)**:Java 7引入了类型推断,使得泛型实例化更加简洁。例如,使用`...
7. **并发API增强**:Java 1.8进一步优化了并发处理,如`ForkJoinPool`和`CompletableFuture`,提供了并行计算的新方式,使得异步编程更为简单。 8. ** Nashorn JavaScript引擎**:Java 8引入了一个新的脚本引擎...
在《JAVA_API_1.7中文.CHM》文档中,你可以找到所有这些特性的详细介绍,以及Java 7中的核心类库、集合框架、I/O流、网络编程、反射、国际化等各个方面的详细信息。每个类、接口或方法都有清晰的解释,包括其功能、...
Java 8 API 中文官方文档是开发者深入理解Java 8新特性和API的重要工具,它涵盖了语言结构的改变、新的API以及优化的旧有功能。通过学习和应用这些知识,开发者可以编写出更加高效、简洁的Java代码,提升软件质量。
6. **新的工具和命令**:为了更好地管理和调试Java程序,Java 1.7新增了一些实用工具,如JMX(Java Management Extensions)和JConsole等。 ### 关键知识点详解 #### 文件I/O API增强 - **新的文件查找器**:通过...
- **日期和时间**:`Date`, `Calendar`类以及Java 7新增的`java.time`包,提供了处理日期和时间的工具,如`LocalDate`, `LocalTime`, `DateTimeFormatter`等。 - **反射**:`Class`, `Method`, `Field`等类提供了...
在Java 7中,一些关键的更新和新增知识点包括: 1. **多线程处理增强**:引入了Fork/Join框架,这是一个并行计算模型,用于将大型任务分解为可独立执行的小任务,从而提升性能。 2. **try-with-resources语句**:...
Java API 7中文带索引chw版是针对Java开发者的一款重要参考资料,它是Java SE 7(Java Platform, Standard Edition 7)的官方API文档的中文翻译版本,包含了丰富的类库和接口的详细说明,帮助开发者理解和使用Java 7...
API文档中的汉化版,意味着所有的描述和示例都已经翻译成中文,这对于中文使用者来说是一大福音,无需依赖翻译工具就能快速理解Java 9的新特性。`jdk-9_汉化版.CHM`文件是一个Windows帮助文档格式,通常包含索引、...
Java JDK8是Java开发工具包的一个重要版本,它引入了许多创新特性和改进,极大地提升了开发者的工作效率。这个API中文版是对于JDK8官方文档的汉化版本,旨在帮助中文使用者更好地理解和应用JDK8的新功能。以下是关于...
Stream API在Java 9中得到了进一步增强,新增了`ofNullable()`方法用于处理可能为null的值,以及`parallel()、sequential()`用于切换流的执行模式。 6. **进程API的改进** `java.lang.Process`和相关类进行了改进...
通过对比学习这两个版本的API,开发者可以了解到Java平台的发展历程和技术演进,同时也能掌握不同版本中新增或改进的功能,提高编程能力。无论是阅读中文版还是英文版,理解和熟练运用Java API都是提升编程技能的...
总的来说,Java 8的中文API文档是一个强大的工具,它涵盖了函数式编程、日期时间处理、并发编程、接口默认方法等核心特性,是Java开发者不可或缺的参考资料。通过深入学习和使用这个文档,开发者可以充分利用Java 8...
以上只是Java 7 API中的一部分关键知识点,实际的API文档包含了更多细节,如各个类的方法、构造函数、枚举值等,以及详细的使用示例,对于学习和使用Java开发来说,是一个非常重要的参考资源。通过阅读这份中文文档...
Java API文档是学习和开发Java程序的重要资源,它包含了Java平台标准版(Java SE)的所有类库和接口的详细信息。这份文档对于Java开发者来说,无论是新手还是经验丰富的程序员,都是不可或缺的参考资料。 首先,...
Java API 1.7中文版是Java开发工具集(JDK)的重要组成部分,它是Java编程语言的官方文档,为开发者提供了详细的API接口、类库和方法的说明。这个压缩包包含了一个名为`JAVA_API_1.7中文.chm`的文件,这是一个帮助...
以上只是Java 9 API中的部分亮点,实际下载并学习Java 9 API时,你还会发现更多实用的改进和新增功能。对于已经熟悉Java 8的开发者来说,Java 9的学习曲线相对平缓,其新特性旨在提升开发效率和应用质量。因此,无论...