尽管方法中使用了值,为什么局部变量仍显示警告?

时间:2019-03-06 06:24:20

标签: java variables compiler-warnings

 boolean flag = false;
 String s1= "Bharath";
 String s2 = null;
 flag = s1.equals(s2);

我在声明时已将值初始化为false,并且在同一方法中使用了它,但它仍显示警告。是什么原因呢?

2 个答案:

答案 0 :(得分:1)

您仅声明了变量标志,而未在任何地方使用或读取它,因此其显示警告。只需放入System.out.println(flag);,它就会消失。

答案 1 :(得分:-1)

正如评论中已经提到的那样。您已将变量* def foo = get response.data[*].id * def createId = function(x) {return {"id" :x}} * def ids = karate.map(foo,createId) * def del = call read('delete_project.feature') ids 初始化为值"" + 505466163255 ,该值从未被读取,然后被flag覆盖。因此,第一次任务是不必要的。

解决方法:在需要时将值分配给变量。如果不需要,请不要为变量分配默认值。

示例1:

false

示例2:

s1.equals(s2)

如果变量具有“固定”值且不缩进更改,则也可以使用boolean flag; String s1 = "Bharath"; String s2 = null; flag = s1.equals(s2); 关键字。

String s1 = "Bharath";
String s2 = null;
boolean flag = s1.equals(s2);