gpt4 book ai didi

java - 考虑到我的用例,创建自定义数据结构的理想方法

转载 作者:行者123 更新时间:2023-12-02 07:57:08 25 4
gpt4 key购买 nike


我想,这又是一个“最佳实践”问题,因为我可以想到一些不优雅的方法来实现我的用例。

我的用例如下
我正在编写一个 MethodManager(某种)模块,它可以帮助最终用户通过 UI 处理实际的方法(函数)调用。
为了这个特定目的,我有一个 methodDefinition 类,它是方法(函数)在我的系统中的对象形式。
我的 methodDefinition 成员的简要概述如下

methodName -- String
methodInputs -- ArrayList<String>
methodResultType -- enum(STRING,MAP,LIST)
methodResult -- <<variable, on the basis of methodResultType>>

现在 methodResult 是可变的,可以是 String、Map 或 List 中的任何一个,具体取决于 methodResultType 设置的内容。

我创建了一个 MethodResultType 类来说明 methodResultType,它如下所示

public enum MethodResultType {
LIST,
MAP,
STRING;
}

现在我知道我必须编写一个类来解释 methodResult 及其基于 methodResultType 的变量性质,但无法想到一种不搞砸的方法。

任何这方面的建议/指示将不胜感激。

谢谢
p1ng

最佳答案

List、Map 和 String 有一个共同的祖先类:java.lang.Object。因此,methodResult 可以是一个对象。

您还可以将结果及其类型包装到 MethodResult 对象中,该对象将提供 getType()getValueAsString() 等方法>、getValueAsList()getValueAsMap()。如果值的类型不是该方法返回的类型,则最后三个方法将抛出 IllegalStateException。

关于java - 考虑到我的用例,创建自定义数据结构的理想方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469176/

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