gpt4 book ai didi

java - 从不同对象获取相同字段

转载 作者:行者123 更新时间:2023-12-01 11:29:27 25 4
gpt4 key购买 nike

我想在 Java 中执行一个通用方法,该方法接收一个对象并获得相同的属性,无论对象是什么类型。

例如:我有两个对象,carhouse,并且知道这些对象具有属性 id。我可以写一个这样的方法吗?

public void method(Object x) {
x.getId();
}

最佳答案

除非使用反射,否则无法执行此操作,而反射很容易出现异常。

public void method(Object o) throws NoSuchFieldException, SecurityException {
Field idField = o.getClass().getDeclaredField("id");
int id = idField.getInt(o);
}

但解决此类操作的常见方法是使用多态性或带有接口(interface)的泛型方法。

public interface Identifiable {
public int getId();
}

public <T extends Identifiable> void method(T anIdentifiableObject) {
anIdentifiableObject.getId();
}

public void method(Identifiable anIdentifiableObject) {
anIdentifiableObject.getId();
}

关于java - 从不同对象获取相同字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30535632/

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