Bannana *banana = [[Banana alloc] init];
Apple *apple = [[Apple allloc] init];
NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:banana];
[myArray addObject:apple];
问题:Java中“id”的等价物是什么?如何在Java中完成上述操作?谢谢!
答案 0 :(得分:1)
您可以创建Fruit
interface并让Banana
和Apple
类实现该目标。
之后,您可以执行以下操作:
Fruit banana = new Banana();
Fruit apple = new Apple();
List<Fruit> myList = new ArrayList<Fruit>();
myList.add(banana);
myList.add(apple);
您也可以使用Object
类作为列表类型,但是当您将对象从列表中取出时需要小心,因为它们将是Object
类型并且根据每个对象的类型需要进行转换:
List<Object> myArray = new ArrayList<Object>();
myArray.add(car);
myArray.add(banana);
for (Object o : myArray) {
if (o instanceof Car) {
Car c = (Car) o;
System.out.println("Car object found.");
// use Car object
} else if (o instanceof Banana) {
Banana b = (Banana) o;
System.out.println("Banana object found.");
// use Banana object
} else {
System.err.println("Unknown object found!");
}
}
答案 1 :(得分:0)
id
与java中的Object
类似。 Java中的所有东西(原始类型除外)都是对象。
如果您只想使用可变列表来存储任何类型,您可以执行此操作但不建议:
List myArray = new ArrayList();
myArray.add(banana);
myArray.add(apple);