[英]How to assign multiple data types to a single variable in java?
现在我正在创建一个银行应用程序,我不知道如何分配例如字符串名称; 双重平衡; 等到右边一个int PIN;。 将会有许多具有不同 PIN 和分配给它的值的帐户。 我尝试制作许多对象:
perInfo card1 = new perInfo();
card1.PIN = 1994;
card1.balance = 24.68;
card1.isValid = true;
perInfo karta2 = new perInfo();
card2.PIN = 2002;
card2.balance = 522.2;
card2.isValid = false;
但我认为要做的工作太多,而且会降低应用程序的性能。 我也试过列个清单
public bApp(int pin, double balance){
this.pin = pin;
this.balance = balance;}
List<bApp> pass = new ArrayList<>();
pass.add(new bApp(1994, 568.45));
pass.add(new bApp(2002, 13866.24));
但它没有用,因为我无法调用 PIN 来检查用户是否提供了正确的 PIN。 数组也不适合这个。
您正在寻找的数据结构是 Map。 看一看 HashMap,您将希望关闭用于查找的任何值。
例如,如果您想通过 pin 查找用户:
Map<Integer, bApp> passes = new HashMap<>();
passes.put(1994, new bApp(1994, 568.45));
passes.put(2002, new bApp(2002, 13866.24));
您可以为此使用 HashMap 并使用 pin 作为键并将对象存储在 HashMap 中。 这将允许您仅使用 pin 访问每张卡。 但是,这不允许重复引脚。 我建议您通过唯一 ID 引用每个帐户,并检查对象本身内的引脚。
HashMap<Integer, Account> accounts = new HashMap<Integer, Account>();
accounts.put(12345678, new Account(1994, 568.4));
然后,您可以使用唯一 ID 获取帐户并检查 PIN 码是否正确。
Account acc = accounts.get(uniqueID);
if(acc.pin == enteredPin){
//Whatever you need to do
}
我认为只拥有一个不同卡的数组会更简单,每个引脚都设置为数组地址:
bApp[] cards = new bApp[NUMBER_OF_CARDS];
cards[0] = new bApp(0, 568.45);
// ...
cards[2002] = new bApp(2002, 13866.24);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.