个性化阅读
专注于IT技术分析

Java通用实例创建的类型推断

本文概述

在Java 7中, Java提供了改进的编译器, 该编译器足够智能以推断通用实例的类型。现在, 你可以用一组空的类型参数(<>)替换类型参数。这对尖括号被非正式地称为菱形。

Java 6和更低版本中使用以下方法。

Ex. List<Integer> list  = new List<Integer>();

现在, 你可以使用Java 7中引入的以下新方法。

Ex. List<Integer> list = new List<>(); // Here, we just used diamond

通用实例创建示例的类型推断

import java.util.List;
import java.util.ArrayList;
public class TypeInference {
	public static void main(String[] args) {
		// In Java 6 and earlier  
		List<Integer> list = new ArrayList<Integer>();
		list.add(12);
		for (Integer element : list) {
			System.out.println(element);
		}
		// In Java 7
		List<Integer> list2 = new ArrayList<>(); // Here, diamond is used 
		list2.add(12);
		for (Integer element : list2) {
			System.out.println(element);
		}
	}
}

输出:

12
12

类型推断和泛型构造函数

你可以在通用类和非通用类中创建通用构造函数。在下面的示例中, 我们创建了一个泛型类型构造函数。

class GenericClass<X> {
<T> GenericClass(T t) {
System.out.println(t);
}
}
public class TypeInference {
	public static void main(String[] args) {
		GenericClass<String>gc2 = new GenericClass<>("Hello");
	}
}

输出:

Hello
赞(0)
未经允许不得转载:srcmini » Java通用实例创建的类型推断

评论 抢沙发

评论前必须登录!