Это полезно в любом случае, если (это! = Ноль)? - PullRequest
2 голосов
/ 17 июня 2010

Я сталкивался с некоторыми тестами, которые включали код, подобный следующему:

if (this != null) {
    do something
}

Является ли это пунктом if любого использования?Есть ли цель, которую я не понимаю, которая делает это полезным?

Ответы [ 5 ]

16 голосов
/ 17 июня 2010

this никогда не может быть null в Java, поэтому такой код никогда не будет полезен.

2 голосов
/ 17 июня 2010

В Java ключевое слово this можно использовать только в нестатическом методе класса.

Таким образом, если вы когда-либо выполняете код в методе, this никогда не может быть null, потому что у вас гарантированно будет экземпляр этого объекта, иначе метод никогда бы не был вызван.

1 голос
/ 10 августа 2011

Программист искал более причудливый способ написать:

if (true) {

}
0 голосов
/ 22 июня 2010

Я довольно невежественный программист, поэтому не верьте ни единому слову, которое я говорю (и поправьте меня, если я ошибаюсь!), Но оно напоминает cogito ergo sum - я думаю поэтому я и есть. Декарт назвал это"первым и наиболее уверенным, кто представляет себя тому, кто проводит свои мысли в порядке". Точно так же, похоже, что this != null (в любом случае на языке Java) является одним из самых тривиальных выводов, которые может сделать код. Ухоженная!

0 голосов
/ 21 июня 2010

Вы не можете использовать «this» в статической среде, которая является единственным местом, где «this» может быть нулевым.

Вы можете вызывать статический метод или переменную без объекта, без экземпляра.«this» указывает на текущий экземпляр класса.Вы можете использовать «this», только если у вас есть объект, поэтому он никогда не будет нулевым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...