以下代码给出了编译时错误:缺少返回值和缺少return语句,我将为 Void Type
返回什么值?
final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>()
{
@Override
protected Void doInBackground() throws Exception
{
// some code
if (something)
{
return;
}
}
}
答案 0 :(得分:27)
Void
不是void
,如果您不想返回任何内容,请将其更改为无效类型。
Void是一个类,void是类型。
/**
* The {@code Void} class is an uninstantiable placeholder class to hold a
* reference to the {@code Class} object representing the Java keyword
* void.
*
* @author unascribed
* @since JDK1.1
*/
如果您需要Void
,则需要在结尾处添加return
语句。
示例:
protected Void doInBackground() throws Exception
{
// some code
if (something)
{
return null;
}
return null;
}
答案 1 :(得分:1)
检查一下。它要求使用captital V返回Void而不是简单的void
final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>()
{
@Override
protected Void doInBackground() throws Exception
{
// my code here
return null;
}
};
}