java - 使用方法中传递的另一个参数获取对象的参数 - Java

标签 java oop parameters

我创建了 4 个字符对象,带有 4 个参数,其中包括 id。如何使用对象的构造函数参数之一访问对象的另一个参数?例如,我想创建一个方法,它将 id 作为参数,并使用该 id,我想指定用户正在谈论哪个角色,这样我就可以获得该特定角色的参数(名称等)。

角色对象

    Character warrior = new Character("Warrior", 60, 15+rn.nextInt(5), 1); //name, health, damage, id
    Character skeleton = new Character("Skeleton", 90, 20+rn.nextInt(10), 2);

我正在尝试创建的方法

public void spawnEnemy(int id){
    System.out.printf("%s appeared!", //get character's name with id);

}

最佳答案

如果所有Character都有唯一的id,您可以将它们放入java.util.HashMap :

HashMap<Integer, Character> map = new HashMap<>();
Character warrior = new Character("Warrior", 60, 15+rn.nextInt(5), 1);
map.put(1, warrior);

然后您可以使用id 1调用getwarrior:

public void spawnEnemy(int id){
    System.out.printf("%s appeared!", map.get(id));
}

关于java - 使用方法中传递的另一个参数获取对象的参数 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50645041/

相关文章:

java - 国际化 Java 应用程序?

java - 在 JTextArea 中剪切和粘贴

c++ - 在类堆栈之间交换数据

javascript - 包含重复项函数不会返回 true?

c# - 如何允许仅传递 "allowed"委托(delegate)作为 C# 中函数的参数

c++ - 遍历链表C++并返回用户输入的最高值

parameters - Azure 数据工厂 - 使用包参数执行 SSIS 包

java - Apache 的 Velocity — getTemplate() 。如何传递字符串/对象而不是 .VM 文件

java - Scala 异步与 Java ForkJoinTask

c++ - 好的设计可以完全避免强制转换吗?