【问题标题】:how would I call a method from a class randomly chosen from an arraylist in java?我如何从java中的arraylist中随机选择的类中调用方法?
【发布时间】:2018-12-15 00:24:59
【问题描述】:

我有一个类的数组列表。我需要从数组列表中随机选择 2 个类,然后从中调用一个属性。我该怎么做?

我做不到

(array_list_name.get(random_number)).attribute_name();

因为我没有调用类的属性,所以我试图从 get 调用属性,这显然行不通。

附:我已经初始化了所有的类。

【问题讨论】:

  • array_list_name.get(random_number).attribute_name(); 应该没问题,array_list_name 中没有额外的括号
  • 如果我这样做,我会收到错误“线程“main”java.lang.Error 中的异常:未解决的编译问题:方法 values() 未定义为 Object 类型”,其中 values() 为我试图调用的属性。
  • 所以,你初始化类,将它们添加到array_list_name,你使用get(a_number) 获得array_list_name 的元素并尝试从元素中获取一个值,它会抛出一个异常,说你有的课程也没有你调用的方法?你能分享一下你填写array_list_name的方式吗?
  • 如何调用一个属性

标签: java class arraylist attributes


【解决方案1】:

我认为问题中可能缺少某些内容。您是否尝试访问该属性的值?如果您知道列表中所有对象的属性名称,则以下内容应该有效:

SomeType obj = list_of_objects[0]
String val = obj.attribute_name

或者您是否尝试动态调用包含在属性值中的方法名称?如果是这样,那么(连同上面的代码)你会想看看如何动态调用一个方法。可以在这里找到答案:https://stackoverflow.com/a/161005/4700298

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 2015-05-04
    • 2019-11-23
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    相关资源
    最近更新 更多