二进制运算符的操作数类型不正确'<'第一种类型:float第二种类型:Object



我想制作一个简单的Java程序,但我遇到了以下错误:

bad operand types for binary operator '<'
  first type:  float
  second type: Object

这是我的代码:

public static void main(String[] args) {
    ArrayList pa = new ArrayList();
    pa.add(100);
    pa.add(85);
    pa.add(80);
    pa.add(75);
    pa.add(70);
    pa.add(60);
    pa.add(50);
    pa.add(40);
    int [] pb = new int[8]; 
    pb[0] =85;
    pb[1] =80;
    pb[2] =75;
    pb[3] =70;
    pb[4] =60;
    pb[5] =50;
    pb[6] =40;
    pb[7] =30;
    float input ;
    string grade;
        if ( (input < pa.get(1) ) && (input270 >= pb270[0]) ) // this is the problem
            {   grade = "A+";   
        } 

更改:

ArrayList pa = new ArrayList();

至:

ArrayList<Integer> pa = new ArrayList<>();

或者如果您喜欢:

ArrayList<Float> pa = new ArrayList<>();

在不告诉它列表中数据的类型的情况下,它将所有元素视为Object,并且不能使用<运算符比较floatObject

定义集合,使其具有类型信息,而不是使用原始类型

List<Integer> pa = new ArrayList<>();

相关内容

最新更新