Search code examples
javafirebasenullpointerexceptionequals

How to solve " java.lang.NullPointerException: ' on Equals function in Java?


  @Override
    protected void onStart() {
        super.onStart();

        databaseVaccine.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                String k;


                vaccineList.clear();

                for(
                        DataSnapshot vaccineSnapshot :dataSnapshot.getChildren())

                {
                    //getting farm
                    Vaccine vaccine = vaccineSnapshot.getValue(Vaccine.class);
                    k= getSfuff();
                    if (vaccine.CattleVaccineID.equals(k)) {

                        vaccineList.add(vaccine);

                    }
                    //adding farm to the list

                }

                VaccineList adapters = new VaccineList(ViewVaccination.this, vaccineList);
                ListViewVaccine.setAdapter(adapters);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }
    public  String getSfuff() {
        Bundle bundle = getIntent().getExtras();


        String stuff = bundle.getString("cattleID");
        return stuff;


    }

It's showing following error on the line

"if (vaccine.CattleVaccineID.equals(k)) "

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

Can someone find a solution to solve this error? I have tried many options and those didn't work properly.


Solution

  • Change this if to

    if (vaccine.CattleVaccineID != null && vaccine.CattleVaccineID.equals(k))