我写了以下java代码,我期望编译器会抱怨它.但我没有得到任何错误.为什么是这样 ?
public static void main(String[] args) {
Ba ba = new Ba();
ba.fetchSomeValues();
}
public String fetchSomeValues(){
return "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
我调用的方法fetchSomeValues()应该返回"Hello"(这是一个字符串),并且在main方法中我已经包含ba.fetchSomeValues();但没有将它初始化为String变量.编译器不抱怨为什么会这样?
Ada*_*old 10
您不必将返回值分配给变量.你不必对它们做任何事情.
虽然通常不建议只删除某个方法的某些返回值.
计数器示例可能是返回与键关联的先前值Map的put方法.如果您不关心是否存在先前的值,则只需忽略返回值.
Map<Integer, String> map = new HashMap<Integer, String>();
test.put(1, "one"); // we don't assign the return value since we don't care
Run Code Online (Sandbox Code Playgroud)
因此,简而言之,编译器无法判断您是否关心返回值.如果在您使用该方法的上下文中值很重要并且忽略它,那么这只是一个问题.
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |