如何将变量保存在if语句之外

时间:2016-03-29 10:39:30

标签: java

我有这个java代码:

String e;
if(true){
e = "ee";    
}
if(e == "ee"){
 System.out.println(e);
}

我怎样才能"使用"变量e出第一个if语句? 我添加一些愚蠢的条件(if(true)..等等)只是为了尝试。

我因为我的英语不好而烦恼:v

4 个答案:

答案 0 :(得分:1)

你已经保存了它,你只是把它比作错误。使用setChecked()方法比较值。 equals比较了引用相等性。

答案 1 :(得分:1)

要将变量与另一个字符串进行比较,请使用equals而不是==。见How do I compare strings in Java?

String e;

if(true){
  e = "ee";    
}

if(e.equals("ee")){
  System.out.println(e);
}

答案 2 :(得分:0)

问题可能是编译器不知道你的变量必须设置。有很多方法可以解决这个问题。

给它一个默认值。

String e = null;

或明确表示替代分支是不可能的

if (condition) {
   e = "ee";    
} else {
   throw new AssertionError();
}

或给它一个替代值。

if (condition) {
   e = "ee";    
} else {
   e = "that was unexpected";
}

答案 3 :(得分:0)

您可以使用:

String e;

if(true){
  e = "ee";    
}

if("ee".equals(e)){
  System.out.println(e);
}

因为如果e为null,那么你将不会得到nullPointerException,如果你将使用如上所述

if("ee".equals(e)){ //Some operation }