获得创建电子钱包类的任务,您可以在其中创建成员并在他们之间转移资金。然后,用户可以选择谁给钱以及谁接收钱。以下是一些相关代码:
Wallet adamsWallet = new Wallet("Adam", 403.50);
Wallet bentsWallet = new Wallet("Bent", 873);
Wallet clarksWallet = new Wallet("Clark", 319.50);
object_name_here.transfer(other_object_name_here, 200);
因此,我希望用户例如在扫描器中输入“ adam”,然后以某种方式将“ sWallet”附加到adam,然后将其用作方法调用的对象名称。
我该怎么做或有更好的方法呢?
最佳答案
使用Map
存放钱包。例如:
Map<String, Wallet> wallets = new HashMap<>();
wallets.put("Adam", new Wallet("Adam", 403.50));
wallets.put("Bent", new Wallet("Bent", 873));
wallets.put("Clark", new Wallet("Clark", 319.50));
您可以从地图上按名称查找钱包。
Wallet wallet1 = wallets.get("Adam");
Wallet wallet2 = wallets.get("Clark");
wallet1.transfer(wallet2, 200);
请注意,对象没有名称-变量具有名称。对象不是变量。变量是对对象的引用。您可以有多个引用同一对象的变量。
关于java - 用户输入中的Java对象名称作为方法调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13743637/