Java 是否有类似于Class.getObject(Hello.a,0)的函数?

Java 是否有类似于Class.getObject(Hello.a,0)的函数?,java,Java,比如我有这样的课 class Hello { private int a; public void Hello(int a){ this.a = a; } public int geta(){ return this.a; } } Arraylist <Hello> arr = new Arraylist <Hello>(); Random r = new Random(); Hello h; for (int i = 0; i<10; i++){ h = ne

比如我有这样的课

class Hello {
private int a;
public void Hello(int a){
this.a = a;
}
public int geta(){
return this.a;
}
}
Arraylist <Hello> arr = new Arraylist <Hello>();
Random r = new Random();
Hello h;

for (int i = 0; i<10; i++){
h = new Hello (r.nextInt(10));
arr.add(h);
}
从这个类中,我创建了5个对象

Hello a =  new Hello(0);
Hello b =  new Hello(1);
Hello c =  new Hello(2);
Hello d =  new Hello(3);
Hello e =  new Hello(4);
是否有下面这样的函数来返回a的以下值的真值或假值

Class.getObject(Hello.a,0) >> return true
Class.getObject(Hello.a,5) >> return false
--------------------------------------编辑-------------------------------------------

很抱歉我的解释不好,在我的例子中,我使用了Arraylist arr=new Arraylist();来填充Hello类。 并使用Random r=new Random();为Hello构造函数生成int

所以我的代码是这样的

class Hello {
private int a;
public void Hello(int a){
this.a = a;
}
public int geta(){
return this.a;
}
}
Arraylist <Hello> arr = new Arraylist <Hello>();
Random r = new Random();
Hello h;

for (int i = 0; i<10; i++){
h = new Hello (r.nextInt(10));
arr.add(h);
}

谢谢你阅读我的问题,也很抱歉我的英语不好。

不,Java没有保留所有对象及其关联的“id”的“注册表”。如果不对类的结构施加太多限制,它也无法做到这一点

但是,没有什么可以阻止您实现自己的对象“注册表”:您可以定义一个定义整数ID与其对应对象之间的对应关系的
Map
,在
Hello
中使该映射保持静态,并在构建期间向其添加对象。但是,这种方法是危险的,因为它可以防止创建的对象被垃圾收集。

不,Java没有保留所有对象及其关联的“id”的“注册表”。如果不对类的结构施加太多限制,它也无法做到这一点


但是,没有什么可以阻止您实现自己的对象“注册表”:您可以定义一个定义整数ID与其对应对象之间的对应关系的
Map
,在
Hello
中使该映射保持静态,并在构建期间向其添加对象。但是,这种方法是危险的,因为它可以防止所创建的对象被垃圾收集。

在Java中确实不能这样做,但我不明白为什么要这样做

只需使用:

public boolean check(int b){
  return b == a;
}
因此:


关于您的编辑:


这应该仍然适用于这个目的:
if(Object.check(n))
应该可以做到这一点。

在Java中确实不能做到这一点,但我不明白为什么要这样做

只需使用:

public boolean check(int b){
  return b == a;
}
因此:


关于您的编辑:


这应该仍然适用于该目的:
if(Object.check(n))
应该起作用。

什么?只需创建一个
Hello
对象,获取其
a
字段的值并对其进行比较。您可以创建这些对象的列表并进行迭代,直到找到值为5的对象。或者类似的方法。如果你没有
Hello
实例,那么你在测试什么?
void
中的
void Hello(int a)
实际上创建了一个名为
Hello
的方法,它不是构造函数。与其发明语法或方法名称,不如说你需要它做什么?什么?只需创建一个
Hello
对象,获取其
a
字段的值并对其进行比较。您可以创建这些对象的列表并进行迭代,直到找到值为5的对象。或者类似的方法。如果您没有
Hello
实例,那么您要测试什么?
void
中的
void Hello(int a)
实际上创建了一个名为
Hello
的方法,它不是构造函数。与其发明语法或方法名称,你说你需要它做什么怎么样?为什么不直接返回
b==a
?为什么不直接返回
b==a