有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java类和成员对象类型

我对以下几点有点困惑:

class Foo{
private ArrayList<Obj1> obj1List;
private ArrayList<Obj2> obj2List;


/* constructor */
...

public void push(?){

if(the object is of type Obj1)
    push into obj1List (object)
if(the object is of type Obj2)
    push into obj2List (object)

}

我如何使用Push函数来识别对象类型本身,而不使用instanceof(casting)或object obj作为其参数?我需要知道该推哪个arraylist


共 (1) 个答案

  1. # 1 楼答案

    你可以有两种方法,每种对象类型一种,你的程序会自动使用最具体的方法:

    public void push(Obj1 obj){
        obj1List.add(obj);
    }
    
    public void push(Obj2 obj){
        obj2List.add(obj);
    }