感谢您阅读我的问题。如果这看起来像一个容易搜索的问题,我很抱歉,但是搜索任何带有变量,对象和java的东西都会出现任何事情。
以下是我想做的事情:
BankCheck = check(variable int here) = BankCheck(params here);
这样我就可以创建check1000,然后检查1001,检查1002等等。
有什么建议吗?
谢谢!
修改
以下是我使用的内容:
ArrayList<Check> check = new ArrayList<Check>();
然后将每个新对象添加到数组中。
check.add(checkNum, new Check(details, amount));
答案 0 :(得分:4)
通常这是使用数组解决的。所以而不是
check101 , check102 , check103
你会有
check[0] , check[1] , check[2]
等
如果数字不连续且未提前知道,也可以使用哈希表
答案 1 :(得分:2)
在这种情况下,您可能想要使用数组。
BankCheck[] check = new BankCheck[100]; //100 objects
然后
check[0]
是第一个对象等。
或者,如果支票号码很重要,您可以使用地图。
Map<Integer, BankCheck> check = new HashMap<Integer, BankCheck>();
然后:
check.put(1008, ABankCheckObject);
将支票1008放在该位置,可以通过以下方式访问:
check.get(1008);
答案 2 :(得分:2)
这里有两个选择。
第一个选项,我认为对你的情况是正确的,是声明一个数组并迭代它:
final int checkCount = 10000; // Actual count to be filled in by you. My guess is 10k.
BankCheck[] checks = new BankCheck[checkCount];
for (int i = 0; i < checks.length; ++i) {
// It's not clear from your question exactly what should go here, but here is a guess.
checks[i] = check(params);
}
第二个选项是代码生成代码,如果你真的需要有几千个不同名称的变量。
答案 3 :(得分:2)
不是,这是不可能的,但你有两个选择
1.-创建和数组以保存可变数量的支票:
BankCheck[] checks = new BankCheck[100];
这样可以存储100张支票。您还可以使用列表:
List<BankCheck> checks = new ArrayList<BankCheck>();
除了没有固定数量的支票之外,它几乎相同。
2.-另一种选择是创建一个小程序来为你创建这个,然后你只需复制粘贴输出:
...
public static void main( String ... args ) {
for( int i = 0 ; i < 100 ; i++ ) {
System.out.printf("BackCheck check%d = new BankCheck();%n");
}
}
但除非你试图做一些非常先进(或愚蠢)的事情,否则你真的会在大多数情况下使用选项#1。
我希望这会有所帮助
答案 4 :(得分:1)
如果您不想具有固定的上限,请使用ArrayList类,该类可以根据需要进行扩展。