Java 爪哇语;for loop";-不兼容类型

Java 爪哇语;for loop";-不兼容类型,java,for-loop,arraylist,Java,For Loop,Arraylist,当我试图编译这段代码时,它说(y-1)(第三行)是不兼容的 但是list.size()方法应该返回一个整数,那么问题出在哪里呢 您正在为传入的ArrayList使用,因此需要强制转换 void testK(ArrayList list) { for (int y= list.size() ; y > 0 ; y-- ) { Kostka kst = list.get(y -1); }} 但最好使用泛型来避免强制转换 Kostka

当我试图编译这段代码时,它说
(y-1)
(第三行)是不兼容的

  • 但是
    list.size()
    方法应该返回一个整数,那么问题出在哪里呢
您正在为传入的
ArrayList
使用,因此需要强制转换

void testK(ArrayList list) {
        for (int y= list.size() ; y > 0 ; y-- ) {
            Kostka kst = list.get(y -1); 
        }}
但最好使用泛型来避免强制转换

Kostka kst = (Kostka) list.get(y -1); 
ArrayList列表
您正在为传入的
ArrayList
使用,因此需要强制转换

void testK(ArrayList list) {
        for (int y= list.size() ; y > 0 ; y-- ) {
            Kostka kst = list.get(y -1); 
        }}
但最好使用泛型来避免强制转换

Kostka kst = (Kostka) list.get(y -1); 
ArrayList列表

您必须将
list.get()的结果强制转换为您的类型

ArrayList<Kostka> list
或者使用泛型并为方法提供泛型列表

Kostka kst = (Kostka)list.get(y -1);
void testK(数组列表)

您必须将
list.get()的结果强制转换为您的类型

ArrayList<Kostka> list
或者使用泛型并为方法提供泛型列表

Kostka kst = (Kostka)list.get(y -1);
void testK(数组列表)

按照编写代码的方式,
get(y-1)
将返回一个
对象
实例

你必须投下它:

void testK(ArrayList<Kostka> list)

另外,避免使用原始类型,如
ArrayList
。相反,使用泛型集合(
ArrayList

按照编写代码的方式,
get(y-1)
将返回一个
对象
实例

你必须投下它:

void testK(ArrayList<Kostka> list)

另外,避免使用原始类型,如
ArrayList
。相反,使用泛型集合(
ArrayList

首先,我建议您对
ArrayList
使用泛型


首先,我建议您对
ArrayList
使用泛型


增强提示:将
-1
a放在循环的开头,这样可以避免
list.size()
在循环中使用减法。如果可能,保留Koska ksk
final


增强提示:将
-1
a放在循环的开头,这样可以避免
list.size()
在循环中使用减法。如果可能,保留Koska ksk
final


请发布完整的堆栈跟踪。您的
ArrayList是什么类型的?应该是
ArrayList list
@doorknold他说的是编译器错误好的,那么请发布完整的错误。请发布完整的堆栈跟踪。您的
ArrayList
是什么类型的?应该是
ArrayList list
@doorknold他说的是编译器错误好的,然后请发布完整的错误。