gpt4 book ai didi

java - 对任意(通用)对象的引用

转载 作者:行者123 更新时间:2023-12-01 07:29:34 29 4
gpt4 key购买 nike

我一直在尝试用 Java 模拟 Python 列表;即维护一个动态数组,它可以同时存储不同类型的对象。 Java中有没有办法拥有通用对象引用,即可以指向任何类型的对象(用户定义的或内置的)的对象引用?

最佳答案

我认为你误解了 Python 中的列表。虽然它们可以保存不同类型的对象,但它们的设计目的并不是:Python 列表被设计为同质数据结构。相比之下,元组应该是异构的(并且那些元组是不可变的)。

您可以通过执行以下操作来模仿 Java 中的元组:

class Tuple1<A> { 
private final A a;
public Tuple1(A a) {
this.a = a;
}
}

class Tuple2<A, B> {
private final A a;
private final B b;
public Tuple2(A a, B b) {
this.a = a;
this.b = b;
}
}

class Tuple3<A, B, C> {
private final A a;
private final B b;
private final C c;
public Tuple3(A a, B b, C c) {
this.a = a;
this.b = b;
this.c = c;
}
}

...

您可以考虑使用带有 index() 方法和重载静态工厂方法的 Tuple 基类或接口(interface)。

可以使用Object类型的变量来存储任何和所有实例。然而,这很少是您想要做的。您应该将范围缩小到您想要存储和使用的内容,而不是 Object

关于java - 对任意(通用)对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19184442/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com