gpt4 book ai didi

java - 如何使用通用方法查找对象的字段?

转载 作者:行者123 更新时间:2023-12-01 19:50:00 25 4
gpt4 key购买 nike

我有一个带有公共(public)“x”字段的多维数据集对象。我的 Cube 类中有一个 toString 方法,它打印出 x、y、z 字段,但是当我直接访问它时,出现错误:字段无法解析或不是字段

public <T> void setPosition(T object){
System.out.println(object);
System.out.println(object.x); // error here
}

最佳答案

我建议定义一个接口(interface)来声明多种不同类型将公开的方法。像这样的东西:

public interface ValueProducer {
public String getValue();
}

然后,您的 Cube 类型将如下所示:

public <T extends ValueProducer> void setPosition (T obj) {
System.out.println(obj);
System.out.println(obj.getValue());
}

然后,您希望使用此方法的任何类型只需要实现接口(interface) ValueProducer,并且仍然可以扩展或实现适合其用例的任何其他类型。

或者,您可以完全省略泛型,而仅将 obj 作为 ValueProducer 传入。

关于java - 如何使用通用方法查找对象的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com