Java 变量可能尚未初始化错误
我正在使用extras在实例之间传递一个变量,我启动了该变量,但android studio给我一个错误,说它可能未初始化Java 变量可能尚未初始化错误,java,android,Java,Android,我正在使用extras在实例之间传递一个变量,我启动了该变量,但android studio给我一个错误,说它可能未初始化 public class TasteNotePage extends ActionbarMenu { String beerID = "a"; Dialog dialog = null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav
public class TasteNotePage extends ActionbarMenu {
String beerID = "a";
Dialog dialog = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tastenote_page);
//get beer data
Intent intent = getIntent();
Bundle b = intent.getExtras();
beerID = b.getString("id");
//get beer name, get our review if you have one, get all reviews and set
//check if user has beer
String url2 = "myURL";
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String userID = prefs.getString("userID", null);
String userURLComp = "x=" + userID;
String beerID = "&z=" + beerID;
错误发生在上述代码最后一行的beerID。知道如何解决这个问题吗?删除行前的
String
beerID = "&z=" + beerID;
字符串
向程序发出信号,表示您正在为该方法创建一个新的局部变量,这会对类隐藏属性beerID
。显然,当您稍后在该行中尝试使用其值时,它尚未初始化。在该行之前删除字符串
beerID = "&z=" + beerID;
字符串
向程序发出信号,表示您正在为该方法创建一个新的局部变量,这会对类隐藏属性beerID
。显然,当您稍后在该行中尝试使用其值时,它尚未初始化。最后一行的最后一个beerID
是指局部变量beerID
,而不是成员变量。将其更改为beerID=“&z=“+beerID
,如果您想分配给成员变量,或者将其更改为字符串beerID=“&z=“+this.beerID代码>如果您不这样做。最后一行的最后一个beerID
是指局部变量beerID
,而不是成员变量。将其更改为beerID=“&z=“+beerID
,如果您想分配给成员变量,或者将其更改为字符串beerID=“&z=“+this.beerID代码>如果您不这样做。您将在onCreate
中再次声明变量,而不是使用在类上声明过的变量-在这种情况下,它不会初始化:
String beerID = "&z=" + beerID;
我想应该是:
beerID = "&z=" + beerID;
您将在onCreate
中再次声明变量,而不是使用在类上声明过的变量-在这种情况下,它不会初始化:
String beerID = "&z=" + beerID;
我想应该是:
beerID = "&z=" + beerID;
你初始化了比丽德两次。如果第二个字符串被认为是同一个变量,请将其中一个字符串从第二个字符串中删除。您初始化了beerID两次。如果第二个字符串被认为是同一个变量,则从第二个字符串中删除其中一个字符串