java - 应该返回值的方法可以像不返回任何内容(void)的方法一样使用吗?

标签 java android methods return void

我遇到了这段代码:

sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);

并且方法 registerListener() 返回一个 boolean 值 ( http://developer.android.com/reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener,android.hardware.Sensor,int,android.os.Handler) ,尽管这段代码使用它就像它什么都不返回一样。

这怎么可能?

最佳答案

您不必使用 registerListener() 返回的值。

考虑这段代码:

void performOperation() {
    doSomething(); 
}

doSomething 做某事,如果操作成功则返回 true,否则返回 false
performOperation 不会返回任何东西,它只是执行操作。

另一个例子:

public boolean delete() :

Returns: true if and only if the file or directory is successfully deleted; false otherwise

您不必使用 delete 方法返回的值(但强烈建议这样做)。


澄清:

您可能对 method signature 感到困惑在这种情况下。

方法声明如下:

修饰符返回类型名称(参数..)

当你的方法声明要返回一些东西时,它必须返回一些东西!但是,如果您在另一个不返回任何内容 (void) 的方法中使用它,则您不会被迫使用此值。

关于java - 应该返回值的方法可以像不返回任何内容(void)的方法一样使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17637961/

相关文章:

java - AsyncTask 中 android 中的互联网连接检测

c# - 如何在 C# 中将动态数据类型作为参数传递?

java - 如何在没有 stackoverflow 的情况下链接两个节点?

java - 如何使用 IText 将段落添加到矩形中

java,使用字典进行zip?

java processbuilder终端宽度

android - 什么是android :contentDescription ="@string/desc" in ImageView's xml?

android - 旋转 Canvas 后坐标计算问题

java - Android/Java - 将使用 getDate() 检索到的长值传递给另一个方法

java - 为什么我不能用我的类的实例创建新线程?