if (null check) - иначе против try catch (NullPointerException), который более эффективен?
Какая из следующих трех функций является более эффективной;
public String getmConnectedDeviceName1() {
if(null != mServerDevice) {
return mServerDevice.getName();
}
else {
return null;
}
}
public String getmConnectedDeviceName2() {
return mServerDevice == null ? null : mServerDevice.getName();
}
public String getmConnectedDeviceName3() {
try{
return mServerDevice.getName();
}
catch(NullPointerException e) {
return null;
}
}
Пожалуйста, ответьте с конкретной приемлемой логикой.