在Java中,可以使用泛型方法来实现“返回自身”的功能。具体的解决方法如下:
public class MyClass {
private T value;
public MyClass(T value) {
this.value = value;
}
public T getValue() {
return value;
}
public MyClass returnSelf(R value) {
return new MyClass<>(value);
}
}
在上面的示例中,MyClass
类定义了一个泛型成员变量value
,并在构造方法中进行初始化。然后,通过getValue
方法获取该成员变量的值。
泛型方法returnSelf
接受一个参数value
,并返回一个新的MyClass
对象。这个泛型方法也是泛型的,其中的泛型类型R
可以和类的泛型类型T
不同,从而实现了“不同泛型的‘返回自身’”。
以下是使用示例:
MyClass myClass1 = new MyClass<>(10);
int value1 = myClass1.getValue(); // 返回10
MyClass myClass2 = new MyClass<>("Hello");
String value2 = myClass2.getValue(); // 返回"Hello"
MyClass myClass3 = myClass2.returnSelf(3.14);
double value3 = myClass3.getValue(); // 返回3.14
在示例中,我们创建了一个MyClass
对象myClass1
,并通过getValue
方法获取了其成员变量value
的值。然后,我们创建了一个MyClass
对象myClass2
,并通过getValue
方法获取了其成员变量value
的值。接下来,我们使用myClass2.returnSelf(3.14)
返回了一个新的MyClass
对象myClass3
,并通过getValue
方法获取了其成员变量value
的值。
注意,由于泛型方法returnSelf
是在类中定义的,所以可以直接使用类的泛型类型T
,无需指定具体的类型参数。
上一篇:不同范围的CSS计数器增量
下一篇:不同反序列化类型的共享行为问题。