为什么我不能在返回List时调用execute()方法的size()方法?

Men*_*ent 1 java list

为什么这不起作用?

    if ((List)query.execute().size() > 0)
Run Code Online (Sandbox Code Playgroud)

因为execute()返回a List,我以为我可以调用size()它的方法吗?

Hen*_*ing 5

您正在将size()方法的结果转换为a List.

相反,试试这个:

if ( ((List) query.execute()) .size() > 0)
Run Code Online (Sandbox Code Playgroud)

编辑:是的,正如阿黛尔所说:你为什么要把它放在首位呢?是否execute()返回Object?否则,你可以失去演员阵容.


Qwe*_*rky 5

您需要括号来指示您正在投射的内容.目前你正在尝试将结果转换size()为a List.

尝试

(((List)query.execute()).size() > 0)
Run Code Online (Sandbox Code Playgroud)