Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 变量可能尚未初始化错误_Java_Android - Fatal编程技术网

Java 变量可能尚未初始化错误

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

我正在使用extras在实例之间传递一个变量,我启动了该变量,但android studio给我一个错误,说它可能未初始化

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两次。如果第二个字符串被认为是同一个变量,则从第二个字符串中删除其中一个字符串