У меня есть некоторые общие процессоры, которые вызывается каркасом. Аргумент - это полезная нагрузка, которую я обрабатываю.NullType vs Void для аргумента метода, который всегда равен нулю
interface Processor<T, U> {
U process(T t);
}
Бывают ситуации, когда полезная нагрузка не имеет смысла и не существует (рассчитывается и возвращается только ответ). В этом случае рамка передает null
в качестве аргумента. Я решил использовать javax.lang.model.type.NullType
для этой цели:
new Processor<NullType, String>() {
public String process(NullType unused) {
...
return result;
}
}
Am Я неправомерно используется намерение NullType
здесь? Есть java.lang.Void
или что-то еще более подходящее?
* «Это тип выражения null» * ... поэтому он представляет, что вы хотите, чтобы он представлял ... где сейчас замешательство? – Tom
@ Хорошо, возможно, что два экземпляра 'NullType' на самом деле не равны (так как это интерфейс) - поэтому они представляют собой« null », но« Objects.equals (aNullType, bNullType) == false', тогда как ' Objects.equals (null, null) == true'. –
При работе с sdk android в этих случаях обычно используется тип Void. –