if (null check) -else vs try catch (NullPointerException) was ist effizienter?

Welche der folgenden drei Funktionen ist effizienter?

  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;
        }
    }

Bitte antworten Sie mit konkreter akzeptabler Logik.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage