java - 编译器不会提示返回类型。为什么?

标签 java compilation

我写了下面的 java 代码,我预计编译器会提示它。但我没有收到任何错误。这是为什么?

    public static void main(String[] args) {
        Ba ba = new Ba();

        ba.fetchSomeValues();

    }

    public String fetchSomeValues(){
        return "Hello";     
    }

}

我正在调用方法 fetchSomeValues(),它应该返回“Hello”(这是一个字符串),并且在主要方法中我包含了 ba.fetchSomeValues(); 而不是将其初始化为 String 变量。编译器不提示这是为什么?

最佳答案

您不必为变量分配返回值。您不必对它们做任何事情。

虽然通常不建议只删除方法的一些返回值。

一个反例可能是 Mapput 方法,它返回与键关联的先前值。如果您不关心是否有先前的值,您只需简单地忽略返回值。

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/

相关文章:

java - 从多个线程填充 map

java - Java中如何从另一个对象调用对象的方法?

c - undefined reference `gzopen` 错误

Scala编译错误与intellij

gcc - 使用ffmpeg库编译报错

java - 装饰器模式 : Why do we need an abstract decorator?

java - 在 SD 卡上组织数据以便快速搜索的最佳方式

java - 如何升级Webdriver容器中的chrome版本

安卓艺术工具

c++ - 使用 fsyntax-only 参数切换警告