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

Пожалуйста, ответьте с конкретной приемлемой логикой.

Ответы на вопрос(6)

Ваш ответ на вопрос