写一个java泛型函数。调用的时候传<>泛型 返回对应泛型对象数据
时间: 2023-06-06 18:04:57 浏览: 54
好的,这是可以回答的问题。下面是一个示例的Java泛型函数:
```
public <T> T getData(T data) {
return data;
}
```
在调用时,使用<>传入具体的泛型类型,例如:
```
String str = "Hello World";
String result = getData<>(str);
```
这里的getData函数返回一个与传入参数类型相同的泛型对象,即返回一个字符串类型的数据。
相关问题
编写一个泛型类 Bubble<T>,要求该类中包含一个 ArrayList 集合对象,并实现对该集 合内数据的排序;
好的,我可以为您解答这个问题。
以下是 Bubble<T> 泛型类的实现:
```java
import java.util.ArrayList;
public class Bubble<T extends Comparable<T>> {
private ArrayList<T> list;
public Bubble(ArrayList<T> list) {
this.list = list;
}
public ArrayList<T> sort() {
int n = list.size();
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (list.get(j).compareTo(list.get(j + 1)) > 0) {
T temp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, temp);
}
}
}
return list;
}
}
```
上述代码中,Bubble<T> 类实现了一个泛型类,其中 T extends Comparable<T> 表示 T 类型必须实现 Comparable 接口,以便进行比较排序。该类包含一个 ArrayList 集合对象,可以通过构造函数将一个 ArrayList 对象传递给该类。sort() 方法实现了对集合内数据的冒泡排序,并返回已排序的 ArrayList 对象。
以下是一个使用 Bubble<T> 泛型类的示例:
```java
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(5, 3, 8, 1, 2));
Bubble<Integer> bubble = new Bubble<>(list);
ArrayList<Integer> sortedList = bubble.sort();
System.out.println(sortedList);
}
}
```
输出结果为:[1, 2, 3, 5, 8]。
在上述示例中,我们创建了一个包含整数的 ArrayList 对象,并将其传递给 Bubble<Integer> 泛型类的构造函数。然后,我们调用 sort() 方法来对集合内的数据进行排序,并将排序后的 ArrayList 对象打印出来。
4、(泛型类定义与方法的调用)编写一个Java程序,定义泛型类和泛型类的方法,然后创建一个泛型类对象,调用泛型类对象输出相应的结果
好的,我知道了你的问题。以下是一个简单的Java程序,演示如何定义泛型类和泛型方法,以及如何创建泛型类对象并调用泛型类方法输出结果:
```java
public class GenericClass<T> {
private T data;
public GenericClass(T data) {
this.data = data;
}
public T getData() {
return data;
}
public <E> void printArray(E[] array) {
for (E element : array) {
System.out.print(element + " ");
}
System.out.println();
}
public static void main(String[] args) {
GenericClass<String> stringObj = new GenericClass<>("Hello, World!");
System.out.println(stringObj.getData());
GenericClass<Integer> integerObj = new GenericClass<>(123);
System.out.println(integerObj.getData());
String[] stringArray = {"a", "b", "c"};
integerObj.printArray(stringArray);
Integer[] intArray = {1, 2, 3};
integerObj.printArray(intArray);
}
}
```
在这个程序中,我们定义了一个泛型类`GenericClass<T>`,它有一个类型为`T`的成员变量`data`,以及一个泛型方法`printArray<E>`,用于打印一个数组。
在`main`函数中,我们创建了两个泛型类对象`stringObj`和`integerObj`,分别传入了不同类型的数据。然后,我们调用了泛型类对象的`getData`方法,输出相应的数据。
最后,我们定义了两个数组`stringArray`和`intArray`,分别包含不同类型的元素。我们通过`integerObj`调用了泛型类方法`printArray`,输出了这两个数组的内容。
运行这个程序,它将输出以下结果:
```
Hello, World!
123
a b c
1 2 3
```
希望这个程序可以帮助你理解如何定义和使用泛型类和泛型方法。