我写了下面的 java 代码,我预计编译器会提示它。但我没有收到任何错误。这是为什么?
public static void main(String[] args) {
Ba ba = new Ba();
ba.fetchSomeValues();
}
public String fetchSomeValues(){
return "Hello";
}
}
我正在调用方法 fetchSomeValues()
,它应该返回“Hello”(这是一个字符串),并且在主要方法中我包含了 ba.fetchSomeValues();
而不是将其初始化为 String
变量。编译器不提示这是为什么?
最佳答案
您不必为变量分配返回值。您不必对它们做任何事情。
虽然通常不建议只删除方法的一些返回值。
一个反例可能是 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
所以简而言之,编译器无法判断您是否关心返回值。 只有当该值在您使用该方法的上下文中很重要而您忽略它时才会出现问题。
关于java - 编译器不会提示返回类型。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236425/