Java for-each访问List集合显示错误: for-each 不适用于表达式类型

class ImageDropTargetListener extends DropTargetAdapter    //这是内部类,有些变量已经定义好了
{
    public void drop(DropTargetDropEvent e)
    {
        e.acceptDrop(DnDConstants.ACTION_COPY);
        Transferable transfer = e.getTransferable();
        DataFlavor[] flavor = transfer.getTransferDataFlavors();
        for(int i=0; i<flavor.length; i++)
        {
            DataFlavor d = flavor[i];
            try
            {
                if(d.equals(DataFlavor.javaFileListFlavor))
                {
                    List fileList = (List)transfer.getTransferData(d);
                    for (Object obj : fileList)      //问题报错在这
                    {
                        showImage((File)obj, e);    //已经定义好的方法
                    }
                }
            }
            catch (Exception event)
            {
                event.printStackTrace();
            }
            e.dropComplete(true);
        }
    }
}

错误: for-each 不适用于表达式类型
for (Object obj : fileList)
^
要求: 数组或 java.lang.Iterable
找到: List
哪位大神教一下,为什么会错……
难道是下面这句有问题???
List fileList = (List)transfer.getTransferData(d);

Linux系统中的每个进程都有一个父进程(init进程除外);每个进程还有0个或多个子进程。在进程描述符中parent指针指向其父进程,还有一个名为children的子进程链表(父进程task_struct中的children相当于链表的表头)。

而我们可以使用list_for_each(/include/linux/list.h)来依次遍历访问子进程:

struct task_str......
答案就在这里:list_for_each
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

: 这个运算符从未见过,换成别的符号试试。

: 这个运算符从未见过,换成别的符号试试。

for 改成foreach,好像是1.7才支持那种格式替代foreach

楼主,说错了,你这个写法是对的,没有你具体的代码环境,目前看不出什么问题

transfer.getTransferData
这个获得的数据类型应该不是List,所以才会进行一次类型转换是吧,如果获得的类型是一个集合的话,可以获得它的iterator,然后进行遍历这个样子,如果不是集合类型,那么类型转换出错肯定是必然的。

transfer.getTransferData(d)这个原来是什么类型的?

List fileList = (List)transfer.getTransferData(d);
这句话不管transfer.getTransferData(d)是什么对象,都能进行强制转换,编译是不会报错的,强制转换异常是运行时异常。
这样写应该是可以的,确认一下你的List全名是否是java.util.List

List fileList = (List)transfer.getTransferData(d);
这句话不管transfer.getTransferData(d)是什么对象,都能进行强制转换,编译是不会报错的,强制转换异常是运行时异常。
这样写应该是可以的,确认一下你的List全名是否是java.util.List

楼主,你确定引入的是import java.util.List;
???

感觉导错包了吧,要导util包的List啊

List加泛型试试。。。。