java参数传入泛型类型_【Java基本功】一文读懂Java中的泛型
时间: 2023-07-08 12:22:01 浏览: 194
好的,针对你的问题,我来给你解答一下。
在Java中,泛型是一种用于编写可重用代码的机制,可以让你在编译时检测类型安全性。通过使用泛型,我们可以编写出更加通用的代码,提高代码的复用性和可读性。
在Java中,泛型类型参数可以传入类、接口和方法中。在方法中传入泛型类型参数时,可以使用以下几种方式:
1. 传入具体类型参数
例如,假设我们有一个泛型方法:
```java
public <T> void print(T t) {
System.out.println(t);
}
```
我们可以通过以下方式传入具体类型参数:
```java
print("hello world"); // 传入String类型参数
print(123); // 传入Integer类型参数
```
2. 传入泛型类型参数
在某些情况下,我们可能需要在方法中传入泛型类型参数。此时,可以使用以下方式:
```java
public <T> void printList(List<T> list) {
for (T t : list) {
System.out.println(t);
}
}
```
在调用该方法时,我们可以传入任何类型的List:
```java
List<String> stringList = Arrays.asList("hello", "world");
List<Integer> intList = Arrays.asList(1, 2, 3);
printList(stringList); // 传入String类型的List
printList(intList); // 传入Integer类型的List
```
3. 传入通配符类型参数
有时候,我们可能需要在方法中传入一个不确定类型的List。此时,可以使用通配符类型参数:
```java
public void printList(List<?> list) {
for (Object obj : list) {
System.out.println(obj);
}
}
```
在调用该方法时,我们可以传入任何类型的List:
```java
List<String> stringList = Arrays.asList("hello", "world");
List<Integer> intList = Arrays.asList(1, 2, 3);
printList(stringList); // 传入String类型的List
printList(intList); // 传入Integer类型的List
```
注意,使用通配符类型参数时,我们只能对List进行读取操作,不能进行添加或删除操作。
希望这些内容能够解答你的问题。
阅读全文