2013-04-30 4 views
2

Для метода, такие как:Возможно ли, чтобы метод определял, будет ли оно возвращено значение?

String x() 
{ 
    return "x"; 
} 

возможно для того, чтобы проверить, если она вызывается в пустом контексте. IE определить, если она вызывается как:

String ex = x(); 

или просто как

x(); 
+5

Нет, это не так. Но если вы попытаетесь объяснить, почему вам нужно знать, может быть, есть другое решение. – NilsH

+3

@NilsH Да, это немного пахнет как проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). –

ответ

0

Нет, извините, это не то, что поддерживает Java.

Но, с другой стороны, я не могу придумать вескую причину, почему метод должен был бы это знать. Так что все хорошо.

+0

Единственная причина, по которой я мог подумать, - обнаружить ее как ошибку. И вы могли бы достичь этого с помощью хорошего инструмента проверки кода, такого как FindBug, Checkstyle и т. Д. – NilsH

+0

@NilsH Возможно. Хотя я бы предположил, что модульное тестирование будет лучшим подходом. –

+0

Возможно. Но инструменты, такие как FindBugs, полезны в некоторых случаях. Но теперь мы выходим из темы ... :) – NilsH

1

Способ is a метод. Он принимает параметры, выполняет некоторые вычисления и возвращает значение. Вот и все. Другой код принадлежит другим методам.

0

Если бензин может сообщить вам транспортное средство, которое будет использовать его, тогда да, иначе нет.

В любом случае у вас может быть установлен флаг (в зависимости от вашего состояния) до вызова метода и таким образом вы можете проверить, будет ли он использоваться дальше.

Смежные вопросы