Dlaczego Java często wyrzuca wyjątek wskaźnika pustego, gdy próbuję uzyskać dostęp do wartości null, a Cel C nie?Java vs Cel C w przypadku wyjątku nullpointer
Java:
public class SubscribeEmailActivity {
String status;
public static void main(String[] args){
if(Status.equals(null)||status.equals(""){
// i am getting error here
}
}
}
Cel C:
//in .h file
NSString *exp;
//in .m file
if ([exp isEqualToString:NULL] ||[exp isEqualToString:@""])
{
// i am not getting any error
}
Ponieważ są to różne języki? Nie ma żadnej bezwzględnej reguły określającej, w jaki sposób język musi obsługiwać metody wywoływania na 'null'. To decyzja twórców języka stworzona z różnych powodów. – DrummerB
Mam tę samą wątpliwość – ArunMak
Nie wiem Objective-c, ale [exp isEqualToString: NULL] nie brzmi dla mnie jak sprawdzanie zerowej wartości, ale raczej sprawdzanie "NULL" i sprawdzanie zerowej wartości Java nie ma sensu . –