目录:Java 8 新特性-终极指南 文章目录 Java 8 新特性 - 更好的类型推断 Java 8 新特性 - 更好的类型推断 Java 8编译器在类型推断方面有很大的提升,在很多场景下编译器可以推导
目录:Java 8 新特性-终极指南
文章目录
- Java 8 新特性 - 更好的类型推断
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()。