在Java中,泛型类中的泛型方法可以指定返回类型。泛型方法的返回类型可以是任何类型,包括泛型类型和非泛型类型。当指定泛型方法的返回类型时,该类型将用于实例化方法返回的对象。
以下是一个示例,演示了如何在泛型类中定义泛型方法并指定返回类型:
public class GenericBox<T> {
private T item;
public GenericBox(T item) {
this.item = item;
}
public T getItem() {
return item;
}
public void setItem(T item) {
this.item = item;
}
public T createBox(T item) {
GenericBox<T> box = new GenericBox<>(item);
return box;
}
}
在上面的示例中,GenericBox
是一个泛型类,它有一个类型参数 T
。类中有三个方法:构造函数 GenericBox(T item)
,getItem()
和 setItem(T item)
。此外,还有一个泛型方法 createBox(T item)
,它接受一个类型为 T
的参数,并返回一个新的 GenericBox<T>
对象。
在 createBox
方法中,我们使用传入的参数 item
创建一个新的 GenericBox<T>
对象,并将其返回。由于 T
是泛型类型参数,因此我们可以使用任何类型来实例化 GenericBox<T>
对象。
以下是如何使用 GenericBox
类和 createBox
方法的示例:
public class Main {
public static void main(String[] args) {
GenericBox<Integer> intBox = new GenericBox<>(123);
Integer intValue = intBox.getItem();
System.out.println("Integer value: " + intValue);
GenericBox<String> strBox = new GenericBox<>("Hello, world!");
String strValue = strBox.getItem();
System.out.println("String value: " + strValue);
GenericBox<Double> doubleBox = new GenericBox<>(3.14);
Double doubleValue = doubleBox.getItem();
System.out.println("Double value: " + doubleValue);
GenericBox<Integer> newIntBox = intBox.createBox(456);
Integer newIntValue = newIntBox.getItem();
System.out.println("New Integer value: " + newIntValue);
}
}
在上面的示例中,我们创建了三个不同类型的 GenericBox
对象:一个用于存储 Integer
类型的值,一个用于存储 String
类型的值,一个用于存储 Double
类型的值。然后,我们使用 createBox
方法创建了一个新的 GenericBox<Integer>
对象,并将其返回。最后,我们打印出每个对象中存储的值。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。