0

我有从我的数据库返回字符串的方法。我的问题是当我尝试使用isEmpty()charAt(0)我得到 nullPointerException 时。这是日志猫:

05-09 15:56:47.002: E/AndroidRuntime(6914): FATAL EXCEPTION: main
05-09 15:56:47.002: E/AndroidRuntime(6914): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4364)
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.ActivityThread.access$1300(ActivityThread.java:141)
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)

   public boolean setTheCorrectParameterFields(){

            String mine = "";

            String spinnerExercise = workOutChoose.getSelectedItem().toString();
            DataBaseMain fieldsNum = new DataBaseMain(getApplicationContext());
            fieldsNum.open();
            mine = fieldsNum.getParameters(spinnerExercise);
            fieldsNum.close();

            if(mine.isEmpty())
                return false;
            return true;
            }
4

3 回答 3

1

mine正在null从返回fieldsNum.getParameters(spinnerExercise)null在尝试用它做其他事情之前,您需要检查一个非值。

于 2013-05-09T16:09:10.743 回答
0

因为isEmptynull对象上的方法,所以不能调用它。你应该试试这个:

  boolean empty = mine == null || mine.isEmpty() ? true : false;
于 2013-05-09T16:09:54.920 回答
0

有一种方法可以让您在 Commons Lang 3 中null对 a 进行 -safe 空检查。String

http://commons.apache.org/proper/commons-lang//apidocs/org/apache/commons/lang3/StringUtils.html#isEmpty(java.lang.CharSequence)

于 2013-05-09T16:14:17.400 回答