gpt4 book ai didi

java - Java 中的对象树导航语言

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:20:12 26 4
gpt4 key购买 nike

在我目前正在开发的系统中,我经常需要导航对象树并根据其状态和值采取行动。在普通的 Java 中,这会导致乏味的 for 循环、if 语句等...是否有替代方法来实现树导航,类似于 XML 的 XPath?我知道有 JXPath 和 OGNL,但是您知道其他用于此类目的的库吗?您知道有哪些库可以为特定的树导航表达式生成字节码,使处理速度与 Java 原生 fors 和 ifs 一样快吗?

最佳答案

您可能需要考虑 Jakarta Bean Utils

String street = (String) PropertyUtils.getProperty(user, "address.street");

您可以使用点表示法在对象图中导航。您还可以访问索引属性。有关文档的更多详细信息。

一个缺点是 Bean Utils 期望您正在导航的图形不包含空引用。

下面的代码片段会抛出 NPE

Person person = new Person();
person.setAddress(null);

String street = (String) PropertyUtils.getProperty(person, "address.street");

为了克服这个限制,我的团队实现了一个类,该类根据需要创建图形的所有空引用的实例。此代码基于反射和动态代理 (CGLIB)。

关于java - Java 中的对象树导航语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400483/

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