我正在学习java,并且已经涉及到泛型和原始类型的主题。我发现我在Java中使用了一些通用的库类(以前不知道),并且我一直在使用它们,就好像它们只是普通的类(声明它们像普通对象一样)。这是否会导致原始类型?既然原始类型被说成是可以避免的,那么在使用Java的任何库类或接口之前,我应该确定它们是否是泛型的?如果一个类是泛型的,那么就用它来表示(参数化类型)?使用库泛型类而不使用其泛型特性将使其为原始类型?
0
A
回答
1
如果一个类被声明如下:
public class MyClass<T>
并且你使用这样的:
MyClass myVariable = new MyClass();
然后是的,这的确是一个原始类型,你不应该使用它。 集合类(如ArrayList
) 是在Java 5通用的,你应该总是使用通用变种 当它可用。观看编译器警告; 他们通知使用泛型等等。
+0
编译器会在这里发出警告。你应该使用T类型的整数例如:'MyClass
0
看看这个示例类:
class Queue<T> {
private LinkedList<T> items = new LinkedList<T>();
public void enqueue(T item) {
items.addLast(item);
}
public T dequeue() {
return items.removeFirst();
}
public boolean isEmpty() {
return (items.size() == 0);
}
}
这与类型T的泛型类,你可以用在内部使用所需要的类型相关联所需的任何类型的建立,他的类的实例。
你可以实例化类,如果你想使用整型举例如下:
Queue<Integer> queue = new Queue<Integer>();
您还可以在一个类中使用一种以上类型如下:
class Pair<T,S> {
public T first;
public S second;
public Pair(T a, S b) {
first = a;
second = b;
}
}
而且实例化这样的:
Pair<String,Color> colorName = new Pair<String,Color>("Red", Color.RED);
或者这样:
Pair<Double,Double> coordinates = new Pair<Double,Double>(17.3,42.8);
相关问题
- 1. 如何使用泛型类型的泛型列表泛型类
- 2. 使用泛型将类型对象类型转换为泛型类型
- 3. 使用泛型类型
- 4. 泛型类型的使用
- 5. 使用AutoFac使用泛型复杂类型注册泛型
- 6. 使用泛型为Java类的属性
- 7. 泛型类继承其通用型
- 8. C#:使用泛型类非泛型类不确定
- 9. 使用泛型类型参数类
- 10. 使用泛型类的强类型ID
- 11. 如果我使用原始类型作为参数调用泛型方法,将使用什么类型参数?
- 12. Java。如何禁止使用原始泛型类型?
- 13. 如何使用泛型类型参数调用泛型方法
- 14. 使用泛型实现类
- 15. 将扩展方法应用于泛型类型泛型类型
- 16. 原始类型和泛型 - Java的
- 17. Java的泛型和原始类型
- 18. 通用类型,使用接口的不同泛型类型?
- 19. Java在泛型上使用泛型有两种类型
- 20. 在Window.Resources中使用泛型类型
- 21. 如何使用泛型类型
- 22. ArrayList的错误使用泛型类型
- 23. 使用IsAssignableFrom和'open'泛型类型
- 24. 使用泛型类型实例化DynamoDBQueryExpression
- 25. 如何使用泛型推断类型?
- 26. 使用泛型扩展类型
- 27. Mocking使用Mockito的泛型类型
- 28. 使用Java-泛型模板类型>
- 29. 使用IXamlTypeResolver解析泛型类型
- 30. 泛型 - 使用GetRuntimeMethod与类型参数
如果你在Java 5的工作,编译器将抛出一个警告,当一个接口/类可以使用泛型。您每次需要时都应该使用仿制药。 – 2012-07-13 05:18:36