为什么toLowerCase不能在我的代码中工作?

时间:2018-03-24 11:43:32

标签: android firebase firebase-realtime-database case-sensitive

在我的情况下,我试图根据用户给出的输入过滤firebase数据的结果。由于firebase是区分大小写的,我试图将String Course转换为两端的小写,以便在以下代码中克服区分大小写。

    mUserDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            for (DataSnapshot data:dataSnapshot.getChildren()){


                CollegeFilterDetails models=data.getValue(CollegeFilterDetails.class);





                  if(   (ClgType.equals("") || ClgType.equals(models.getType()))
                        &&(University.equals("")||University.equals(models.getUniversity()))
                        &&(Course.equals("")||Course.equals(models.getCourse().toLowerCase()))
                        &&(State.equals("")||State.equals(models.getState()))
                        &&(District.equals("") || District.equals(models.getDistrict()))

                        ){


                    filteredList.add(new ObjectModel(models.getName(),models.getPlace(),models.getImage()));
                    flag++;

                }
            }
            Toast.makeText(getBaseContext(), "found "+flag+" results", Toast.LENGTH_SHORT).show();
            adapter.notifyDataSetChanged();

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

当我向课程添加java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference时,这会引发错误toLowerCase()

0 个答案:

没有答案