在这种情况下,“隐式匿名类参数”是什么意思?

罗伯特·刘易斯:

在Android Studio中,以下代码将变量commandBytes涂成彩色,以表示“隐式匿名类参数”:

public boolean writeCommand( byte[] commandBytes ) {
if( writeCommandInProgress.compareAndSet( false, true ) ) { 
    writeSubscription = bleDevice
            .establishConnection( asBleServiceRef, false )
            .flatMap( rxBleConnection -> rxBleConnection.writeCharacteristic( asInputCharId, commandBytes) )
            .subscribe( 
                    characteristicValue -> { 
                        writeCommandInProgress.set( false ); 
                        if( !Arrays.equals( characteristicValue, commandBytes ) )
                            Log.d( LOG_TAG, "Data read back from writeCommand() doesn't match input");
                    },
                    throwable -> Log.d( LOG_TAG, "Error in writeCommand: " + commandBytes.toString() + "; " + throwable.getMessage() )
            );
    return true;
    } else return false;
}

我不知道这意味着什么。JetBrains帮助站点上的描述并没有真正帮助:“这是一个本地变量,方法内部的匿名或本地类使用该变量,从而成为匿名类的字段。” 这如何适用?我需要担心吗?

Bas Leijdekkers:

颜色表示参数或局部变量在匿名类(在本例中为lambda)的外部声明并在内部使用。为了使之成为可能,javac编译器将在匿名类中创建一个合成字段来存储变量。您可以通过检查字节码(View > Show Bytecode来看到这一点

这不用担心,也不是警告,它只是提供信息的语法的颜色。这确实意味着变量是隐式或显式最终的,因此在不中断编译的情况下就不可能重新分配它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

> =在这种情况下是什么意思

在这种情况下 res 是什么意思?

在这种情况下,语法[]是什么意思?

在这种情况下,`typedef`是什么意思

在这种情况下,括号是什么意思?

在这种情况下,熵是什么意思?

令牌是什么!在这种情况下(与绑定一起)是什么意思?

在这种情况下,“分配空字符串”是什么意思?

在这种情况下,/ var / named是什么意思?

在这种情况下,下划线是什么意思?

在这种情况下,“动态声明字段”是什么意思?

T-SQL:在这种情况下,AS关键字是什么意思?

空隙是什么意思,或者在这种情况下它如何影响T?

在这种情况下,“:”在咖啡脚本中是什么意思?

在这种情况下,双括号是什么意思?

在这种情况下,“前像”是什么意思?

在这种情况下,“可深层链接”是什么意思

Any 在这种情况下是什么意思?为什么添加`:Any` 可以消除编译器错误?

在这种情况下,通过构造函数或显式函数进行隐式转换的更好的方法是什么?

python中的字典不保留顺序是什么意思?在这种情况下,订单究竟是什么意思?

警告C4309-这是什么意思,在这种情况下可以忽略吗?

为什么在这种情况下隐式转换不起作用?

在这种情况下,svn更新的流程是什么?

在这种情况下,运算符“(> =)”是什么?

C ++:在这种情况下引用的优点是什么?

jQuery:在这种情况下,.on()的正确用法是什么?

在这种情况下setViewControllers的目的是什么

为什么在这种情况下引用模板参数?

在我的情况下,“本地”是什么意思?