【问题标题】:Retrieving a value from a parameter of an object in an ArrayList?从 ArrayList 中对象的参数中检索值?
【发布时间】:2012-01-29 20:40:04
【问题描述】:

假设我有一个对象数组列表,每个对象都有参数:

Object(String string, int x, int y)

如何仅获取给定索引处的字符串参数?我希望我在这里不要太宽泛.. 我只想在我的ArrayList 中的指定索引处从Object 检索String 参数。

【问题讨论】:

  • list.get(42).getString()?您过于宽泛,请向我们展示更多代码。

标签: java parameters get arraylist


【解决方案1】:

如果可能,请使用通用 ArrayLists,并简单地为您希望获取其值的字段调用对象的 getter 方法。否则,如果您不能使用泛型 ArrayList,则必须在调用 getter(访问器)方法之前将返回的对象强制转换为应有的类型。

例如假设getter方法为getString()

myArrayList.get(3).getString();

如果不是通用的,则必须强制转换为对象的类:

((MyClass)myArrayList.get(3)).getString();

【讨论】:

  • 我讨厌麻烦,听起来像个白痴。但是,我只是初学者的Java,我已经学不好了,很遗憾。我有一个显示对象摘要的 toString() 方法。我只是无法理解只拉字符串参数的想法......
【解决方案2】:

如果对象对String 参数有相应的get 方法,则可以使用反射来检索其值(如果您不知道属性的名称),或者如果您 做现在它的名字,像这样:list.get(index).getStringAttribute()

【讨论】:

    【解决方案3】:

    你做的就像你在任何其他收藏中所做的那样

    假设您的ArrayList 中有对象alist[o1,o2,o3],并且您想要o2.String

    你会去alist.get(1).getString() // or whatever your getter is to obtain the string

    【讨论】:

    • 如果我没有 getter 来获取字符串怎么办?
    • 装满 EELS 的气垫船所说的。您当然可以使用公共的 final 属性,但关键是它应该可以在不使用任何花哨的反射技术或类似技术的情况下进行检索。
    猜你喜欢
    • 2021-06-23
    • 2019-06-20
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多