gpt4 book ai didi

java - 为 Java 应用程序中的可扩展性制作映射

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

所以我正在开发这个应用程序并编写这个类来解析 xml。我创建了一个类来表示我的 xml 文件,我想为其映射一些内容,并稍后使用该映射来扩展我的解析器的功能。这是一个例子:

我知道每个文件中都有一个日期,在我正在解析的当前版本的 XML 文件中,它是 <date>dateValue</date>所以我想将通用字符串“DATE”映射到“date”,这样我就可以简单地引用数据结构(映射)并获取键值(在本例中为“DATE”)处的值(“date”)。如果这就是我想做的,我就使用 HashMap 。不过,我添加了一些更复杂的内容,我有一个类来表示我从 xml 中提取的数据,例如:

public class myXML{
String date;
setDate(String input){
this.date = input;
}
}

所以我还想找出一种将其他值附加到值“DATE”、“date”和现在的 setDate(“value”) 的方法。那么首先有没有一种好方法将 2 个值链接到一个键?其次,有没有一种好的方法可以映射到函数然后使用它?比如

function = map.getFunctionValue("DATE");
myXML.function(someValue);

所有这些都是示例代码,因此请不要评论缺少构造函数或语法错误:)

提前谢谢!

最佳答案

Apache Commons 有 a MultiMap 。不幸的是,我在标准库中没有看到它。

基于the docs ,看来他们不包含它,因为并不经常需要它。

A multimap is like a Map but it can map each key to multiple values. The Java Collections Framework doesn't include an interface for multimaps because they aren't used all that commonly. It's a fairly simple matter to use a Map whose values are List instances as a multimap.

对于第二个问题,Java 遗憾地缺乏一流的函数,因此没有优雅的方法来做到这一点。您可以采取的各种方法包括使用自定义接口(interface)、包装类、反射和字节码黑客。

关于java - 为 Java 应用程序中的可扩展性制作映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131145/

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