gpt4 book ai didi

java - SpEL - 从 Object[] 获取值

转载 作者:行者123 更新时间:2023-12-02 02:00:54 26 4
gpt4 key购买 nike

我正在尝试编写一个可以搜索 Object[] 数组的 SpEL 表达式。下面是一些示例代码:

public class Foo {
private String foo;
public Foo(String foo) {
this.foo = foo;
}
private String getFoo() {
return foo;
}
}

public class Bar {
private String bar;
public Bar(String bar) {
this.bar = bar;
}
private String getBar() {
return bar;
}
}

public static void main(String args) {
Object arr[] = {new Foo("foo1"), new Bar("bar1")};
ExpressionParser expressionParser = new SpelExpressionParser();
Expression expression = expressionParser.parseExpression("someExpression to search for bar");
Object expressionResult = expression.getValue(arr, Object.class);
}

任何人都可以帮我编写一个 SpEL 来搜索 arr 并找到第一个具有属性“bar”的对象并返回 bar 的值吗?

其实际应用是,我正在为方面编写注释,并尝试在注释中声明参数的路径:

@MyAnnotation(spelPath="someExpression to search for bar")
public void myMethod(Foo foo, Bar bar, more arguments)

非常感谢您的帮助!

最佳答案

SpEL 对反射有合理的限制。我建议编写一些static实用方法并使用类型运算符从SpEL调用它:

@MyAnnotation(spelPath="T(com.my.proj.MyUtils).searchBar(#root)")

关于java - SpEL - 从 Object[] 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51598981/

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