【问题标题】:Java get random class [closed]Java获取随机类[关闭]
【发布时间】:2015-03-16 07:53:06
【问题描述】:

我正在尝试找出一种从我的项目中获取随机类的有效方法。有九个不同的类(包括启动在内的十个),每一个都有不同的行为(扩展了在主函数中使用的 declaratoid 类)。我需要能够在每次启动时以不同方式运行该功能。我需要做什么?编辑:感谢您的回答,但我现在遇到了另一个问题。我现在必须将结果作为第一个参数传递给另一个函数。

【问题讨论】:

  • 您可能正在寻找 Java 中的反射机制。

标签: java


【解决方案1】:

在 switch 中创建一个获取随机数并基于该随机数创建对象的工厂方法:

public static YourInterfaceType createRandom() {
   Random r = new Random();
   switch(r.nextInt(10)) {
       case 1: return new FirstType();
       case 2: return new SecondType();
       // etc
       default: return new LastType();
   } 
}

编辑更准确的单词定义。 :)

【讨论】:

  • 从技术上讲,你不是在创建类。
  • @aioobe 我的意图是指已定义类的实例。如果 OP 提供了更多细节,但这是不合时宜的,我很乐意将其删除。
  • 他指的是你的声明and creates a class based on that - 不是真的。它是创建现有类的实例,而不是创建类。
  • 呸,好收获。固定的!谢谢大家。
  • 感谢托德的回答。它看起来完全符合我的需要。
【解决方案2】:

您可以从 1 到 9 生成一个随机数,并使用 switch 语句,其中每个案例调用不同的类

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 2021-01-19
    • 1970-01-01
    相关资源
    最近更新 更多