0

我在这个简单的代码中遇到了问题,我声明了一个 String ,并想在 onCreate 中更改它,但是在 onCreate 之后我有“此令牌后预期的VariableDeclaratorId”错误!如果我把 item=222 放在 onCreate 里面,当 Toast 显示这里是我的代码时,我会得到“111null333”

public class MainActivity extends Activity {

    static String item;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toast.makeText(getApplicationContext(), mStrings[0], Toast.LENGTH_SHORT).show();
    }

    item="222";

    private String[] mStrings={
            "111"+item+"333",
            "test"
    };
}
4

1 回答 1

0

你能花一些时间正确地格式化你的问题吗?如果item =“222”,我看不清楚;是否在方法内部。

但是,如果您的格式是“正确的”,那么您的问题是无法在方法或 static{} 代码块之外为 item 变量分配值。因此,如果您在为其分配值之前在另一个对象或类变量中使用 item 变量,它将是默认值(对象为 null,原始值为 0 或 false)。

希望这可以帮助。

更新:

public class MainActivity extends Activity {

    static String item;
    private String[] mStrings;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        item = "222";
        mStrings = new String[2];
        mStrings[0] = "111" + item + "333";
        mStrings[1] = "test";
        Toast.makeText(getApplicationContext(), mStrings[0], Toast.LENGTH_SHORT).show();
    }

}
于 2013-10-31T20:58:20.960 回答