Извините, я публикую это как ответ, потому что мне не хватает очков репутации.
Проблема заключается в том соотношении, которое вы определили здесь
if (distance(lat, lng, latc, lonc) <2.0)
Как у вас это получилось 2.0
?
Может быть, вам следует Log
, что distance(lat, lng, latc, lonc)
дает вам в результате для тех же мест, и определить в соответствии с тем соотношением, которое в вашем случае здесь 2.0
.
Таким образом, что является мной предполагаемый возвратиться, если тип возврата функции должен быть
Void
?
Использовать return null
. Void
не может быть инстанцирован и просто заполнитель для Class<T>
тип void
.
Какой смысл
Void
?
Как отмечено выше, это - заполнитель. Void
то, что Вы возвратите, например, при использовании отражения для рассмотрения метода с типом возврата void
. (Технически, Вы возвратитесь Class<Void>
.) Это имеет другое различное использование вдоль этих строк, как то, если Вы хотите параметризовать a Callable<T>
.
Из-за использования дженериков в Java я закончил в необходимости реализовать эту функцию
Я сказал бы, что что-то может быть броским с Вашим API, если необходимо было реализовать метод с этой подписью. Рассмотрите тщательно, существует ли лучший способ сделать то, что Вы хотите (возможно, можно ли предоставить больше подробную информацию в другом, последующем вопросе?). Я немного подозрителен, так как это только подошло "из-за использования дженериков".
Нет никакого способа инстанцировать Пустоты, таким образом, единственная вещь, которую можно возвратить, является пустой.
Если по неясным причинам НЕОБХОДИМО использовать этот тип, то действительно возврат пустого указателя, кажется, разумная опция, так как я предполагаю, что возвращаемое значение не будет использоваться так или иначе.
Компилятор вынудит Вас возвратить что-то так или иначе.
И этот класс, кажется, не имеет общедоступного конструктора, таким образом, новая Пустота () не возможна.
Чтобы прояснить, почему другие предложения, которые вы дали, не работают:
Void.class
и Void.TYPE
указывают на то же самое объект и имеют тип Class
, а не Void
.
Вот почему вы не можете вернуть эти значения. new Void ()
будет иметь тип Void
, но этот конструктор не существует. Фактически, Void
не имеет общедоступных конструкторов и поэтому не может быть создан: У вас никогда не может быть никаких объектов типа Void
, за исключением полиморфного null
.
Надеюсь, это поможет! : -)