gpt4 book ai didi

java - "Relative"类属性引用

转载 作者:行者123 更新时间:2023-11-30 07:48:08 25 4
gpt4 key购买 nike

我想将类属性的“相对”引用作为参数传递。

首先,我不知道“相对引用”是否真的适合这个名称,但我的想法是这样的:

public ArrayList<Integer> getAllPropertyValues(someObjectClass.someInteger) { //someObjectClass.someInteger being the "relative reference"
ArrayList<Integer> temp = new ArrayList<>();
for (someObject x : someObjectList) {
temp.add(x.someInteger);
}
}

想法是传递对(例如)Human.Age 的引用,并且该方法将每个 x.Age 添加到列表中。

换句话说,给定一个对象 x 如果我传递属性 y 我将能够调用 someDataType recievedProperty = x.y。不管哪种对象是x 或什么类型是y

有没有办法在 Java 中做到这一点?

最佳答案

我认为您可以使用接受 SomeObjectClass 并返回 intToIntFunction

 public ArrayList<Integer> getAllPropertyValues(ToIntFunction<SomeObjectClass> function) { 
ArrayList<Integer> temp = new ArrayList<>();
for (someObject x : someObjectList) {
temp.add(function.apply(x));
}
}

你可以调用它:

ArrayList<Integer> results = getAllPropertyValues(SomeObjectClass::getAge);

您可以传递 getAge() 或返回 intSomeObjectClass 的任何方法。

关于java - "Relative"类属性引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49435844/

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