文章目录
Java 8 新特性 - 更好的类型推断
Java 8编译器在类型推断方面有很大的提升,在很多场景下编译器可以推导出某个参数的数据类型,从而使得代码更为简洁。例子代码如下:
package com.javacodegeeks.java8.type.inference;
public class Value<T> {
public static<T> T defaultValue() {
return null;
}
public T getOrDefault(T value, T defaultValue ) {
return ( value != null ) ? value : defaultValue;
}
}
下列代码是 Value< String> 类型的应用:
package com.javacodegeeks.java8.type.inference;
public class TypeInference {
public static void main(String[] args) {
final Value<String> value = new Value<>();
value.getOrDefault("22", Value.defaultValue() );
}
}
参数 Value.defaultValue() 的类型由编译器推导得出,不需要显式指明。在Java 7中这段代码会有编译错误,除非使用Value.<String>defaultValue()。
本文详细介绍了Java 8中引入的类型推断功能,展示了如何通过编译器自动推导类型,以减少冗余代码,提升代码可读性。实例演示了如何在Value类中使用泛型并应用到TypeInference类中。
200

被折叠的 条评论
为什么被折叠?



