Android Studio中显示“已重新分配局部变量”的通知

x4shl7ld  于 2022-12-23  发布在  Android
关注(0)|答案(1)|浏览(469)

我的字符串加了下划线,并有一个通知说"Reassigned local variable"。我已经计算出每当字符串被修改时都会发生这种情况,但我不确定为什么会出现这个通知。
它看起来没有引起任何错误,并且在“问题”选项卡下没有显示任何内容,所以我不确定是否应该更改它,或者是否应该忽略它。
下面是代码的简化版本。

Canvas canvas;
Paint p = new Paint();

String value = "a"; //'value' here becomes underlined

if(someCondition()) value += "bcdefghijklmnop"; //'value' here becomes underlined

canvas.drawText(value, 50, 50, p);
vs3odd8k

vs3odd8k1#

这只是一个通知,可能是因为有时重新分配的局部变量会给以后的操作带来问题。在您的情况下,重新分配是完全合法的,只是要注意它会创建几个新对象。
如果你想避免这种情况,你可以在这里使用一个StringBuilder,你可以在任何需要的时候把它转换成一个String,但是这也会创建一个新的String对象,所以如果你不在循环中使用它,通常不需要做任何改变(对于循环中的字符串操作,您可能会收到一个警告,这是代码中潜在问题的一个比实际通知更强烈的信号)。

相关问题