1

If/Else を使用して Android int が null であるかどうかを確認しようとしています

public void onClick(View v) {



            EditText min = (EditText) findViewById(R.id.EditText01);
            EditText max = (EditText) findViewById(R.id.maxnum);
            EditText res = (EditText) findViewById(R.id.res);



            int myMin = Integer.parseInt(min.getText().toString());
            int myMax = Integer.parseInt(max.getText().toString());

            String minString = String.valueOf(myMin);
            String maxString = String.valueOf(myMax);

            int f = (int) ((Math.random()*(myMax-myMin+1))+myMin);

            if (minString.equals(""))
            {
                // Do Nothing
            }

            if (maxString.equals(""))
            {
                // Do Nothing
            }



                res.setText(String.valueOf(f));

エラーはありませんが、アプリを実行しているときにボタンを押すとクラッシュします。

また、"" の代わりに null を使用しようとしています。

if (minString.equals(null))
{
    // Do Nothing
}

if (maxString.equals(null))
{
    // Do Nothing
}

そして、私はクラッシュしています。

私を助けてください!!!

4

5 に答える 5

1
       do if (maxString == null ) 
    {
        // do something 
      }
于 2013-06-25T12:15:13.403 に答える
1
public boolean equals (Object object)

指定されたオブジェクトをこの文字列と比較し、等しい場合は true を返します。オブジェクトは、同じ文字が同じ順序で含まれる string のインスタンスである必要があります。

そのため、エラーが返されるため、null かどうかを確認したい場合は ==、オブジェクトで演算子を使用します。

if (maxString == null )

使用する

        int myMin = 0;
        int myMax = 0;
        if(min.getText().toString()!="")
        myMin = Integer.parseInt(min.getText().toString());
        if(max.getText().toString()!="")
        myMax = Integer.parseInt(max.getText().toString());

        String minString = String.valueOf(myMin);
        String maxString = String.valueOf(myMax);

        int f = (int) ((Math.random()*(myMax-myMin+1))+myMin);

        if (minString.equals(""))
        {
            // Do Nothing
        }

        if (maxString.equals(""))
        {
            // Do Nothing
        }
于 2013-06-25T12:19:22.947 に答える
0

int 変数を null にすることはできません

null を int に変換する場合、0 を設定するか、例外をスローするか、別の値 (Integer.MIN_VALUE など) を設定するかを決定するのはコンバーターです。

したがって、int を文字列に再度変換すると、null 値を取得できません。

于 2013-06-25T12:17:58.030 に答える