wiem, że to nie jest możliwe, aby wywołać metodę equals na null obiektu tak:null.equals Java (object o)
//NOT WORKING
String s1 = null;
String s2 = null;
if(s1.equals(s2))
{
System.out.println("NOT WORKING :'(");
}
Ale w moim przypadku chcę porównać dwa obiekty z dwóch baz danych i ich dwa obiekty mogą mieć atrybuty wartość null ...
jaki jest więc sposób porównać dwa atrybuty, wiedząc, że nie ma pewności, że wartość jest null lub wypełnione.
Ta metoda jest dobra, czy nie?
//WORKING
String s1 = "test";
String s2 = "test";
if(s1 == s2 || s1.equals(s2))
{
System.out.println("WORKING :)");
}
//WORKING
String s1 = null;
String s2 = null;
if(s1 == s2 || s1.equals(s2))
{
System.out.println("WORKING :)");
}
nie jestem pewien, bo w tym przypadku to nie działa ...:
//NOT WORKING
String s1 = null;
String s2 = null;
if(s1.equals(s2)|| s1 == s2 )
{
System.out.println("NOT WORKING :'''(");
}
Po pierwsze, NIGDY nie porównywaj ciągów z "==" opeartorem, zawsze porównuj je za pomocą metody 'równa się (String inny znak)'. Operator "==" nie jest "wykonany" w celu porównania typów String. – Austin
W moim przypadku robię ten przykład za pomocą String, ale nie porównuję String w rzeczywistości :) –
Nie zakładaj, że twoje pytanie jest głupie. –