在arraylist中添加用户设计的对象时出错

时间:2015-03-04 17:48:40

标签: java arraylist

我必须创建一个扩展单项类Polynom的多项式类MonomMonom中的对象可以是int或double,所以我想我会使用泛型。

我尝试通过将Polynom添加到Monom来制作ArrayList。一切都很好,但我一直在p1.add(m1);收到错误:

Multiple markers at this line
    - Syntax error, insert "Identifier (" to complete 
     MethodHeaderName
    - Syntax error, insert ")" to complete MethodDeclaration
    - Syntax error, insert "SimpleName" to complete 
     QualifiedName
    - Syntax error on token ".", @ expected after this token

我到处搜索,这应该是正确的语法。

import java.util.*;

public class Polinom {

    Integer grad, coef = new Integer(0);
    Monom<Integer> m1= new Monom<Integer>(grad, coef);
    ArrayList<Monom<Integer>> p1 = new ArrayList<Monom<Integer>>();
    ArrayList<Monom<Integer>> p2 = new ArrayList<Monom<Integer>>();

    p1.add(m1);

}

这就是Monom类的样子:

public class Monom<T> {

    private T grad, coef;

    public Monom (T grad, T coef) {
        this.grad = grad;
        this.coef = coef;
    }
    public T getGrad() {
        return this.grad;
    }
    public T getCoef() {
        return this.coef;
    }

}

2 个答案:

答案 0 :(得分:2)

p1.add(m1);应该在方法内。例如

public void doSomething() {
    p1.add(m1);
}

答案 1 :(得分:2)

让你的班级polinom像这样。

import java.util.*;

public class Polinom {

  Integer grad, coef = new Integer(0);
  Monom<Integer> m1= new Monom<Integer>(grad, coef);
  ArrayList<Monom<Integer>> p1 = new ArrayList<Monom<Integer>>();
  ArrayList<Monom<Integer>> p2 = new ArrayList<Monom<Integer>>();
  public void anyMethod()
  {
   p1.add(m1);
  }
}