Java - 通过相同的变量返回变量类型的对象

时间:2016-12-09 03:23:00

标签: java object return variable-types

所以我有一个班级public abstract class Value<?>

然后我有2个不同的子类public class StringV extends Value<String>public class IntegerV extends Value<Integer>

我使用访问者浏览这些类并通过它返回Value<?>类型的对象。

此访问者浏览对象的arraylist并返回StringVIntegerV对象,我试图实现一个遍历该arraylist的方法并返回一个新对象各自的班级。这是我实施的,但显然它不起作用。

public Value<?> visitSequence(Sequence c) {
    Value<?> result;
    int sequence_size = c.size();
    for (int i=0; i<sequence_size; i++) {
        result = c.get(i).accept(this);
    }
    return result;
}

有没有办法通过同一个变量返回变量类型的对象?或者还有其他方法可以实现这个目标吗?

Sequence类的一部分

public class Sequence extends Expression implements Visitable {

  List<Value> _values = null;

  public Sequence() {
    _values = new ArrayList<Value>();
  }

  public Value get(int ix) {
    return _values.get(ix);
  }


   public Value<?> accept(Visitor v) {
      return v.visitSequence(this);}

提前致谢!

0 个答案:

没有答案