【发布时间】:2017-11-24 04:44:18
【问题描述】:
我需要一个泛型方法来为泛型类的属性赋值;我会做一个例子来更好地解释。我需要的方法我想应该是这样的:
import java.util.function.Function;
public class Utilities {
public static <T> Object assignValueToAttribute( Object MY_Object__Arg, Function<T, ?> MY_AttributeValueExtractor_Arg, Object MY_AttributeValueToEqual_Arg) {
return ....
}
}
示例:
假设我有一个名为“Car”的类,它有一个 NOT STATIC 方法“setColor()”。 我的通用方法应该返回 Car 的一个 istance,比如说“myCar”,并在属性“color”处分配值“red”
myCar.setColor("red");
我的通用方法可以用类似的方式调用:
Car myCar= (Car) Utilities.assignValueToAttribute(myCar, oggetto -> oggetto.setColor(), "red");
问题:我不知道如何编写该方法...
【问题讨论】:
-
使用反射怎么样?它至少会尽可能通用。
-
对象是一个非常简单的类的实例,比如说“汽车”,它有一个属性 color,一个方法 getColor()、setColor()、一个属性模型和一个方法 getModel ()、setModel() 等...然后我将有其他简单的类,例如“Bycicle”,它有一个属性“type”,方法是 'setType(9' 和 'getType()' .等等与其他类...
-
我不是很专业,我也不是很懂……请你写代码好吗?
-
我会避免反思,它会给 Proguard 带来问题......