Debido al uso de genéricos en Java terminé teniendo que implementar una función que tenía Voidcomo tipo de retorno:
public Void doSomething() {
//...
}
y el compilador exige que devuelva algo . Por ahora, acabo de regresar null, pero me pregunto si esa es una buena práctica de codificación ...
Estoy preguntando V oid, no v OID. La clase Void, no la palabra clave reservada void.
También he intentado Void.class, void, Void.TYPE, new Void(), sin retorno en absoluto, sino todo lo que no funciona en absoluto. (Por razones más o menos obvias) (Consulte esta respuesta para obtener más detalles)
- Entonces, ¿qué se supone que debo devolver si el tipo de retorno de una función es
Void? - ¿Cuál es el uso general de la
Voidclase?

No hay forma de crear una instancia de un vacío, por lo que lo único que puede devolver es nulo.
fuente
return nulles el camino a seguir.fuente
Para aclarar por qué las otras sugerencias que dio no funcionan:
Void.classyVoid.TYPEapuntan al mismo objeto y son de tipoClass<Void>, no deVoid.Por eso no puede devolver esos valores.
new Void()sería de tipoVoidpero ese constructor no existe. De hecho,Voidno tiene constructores públicos y, por lo tanto, no se puede instanciar: nunca puede tener ningún objeto de tipoVoidexcepto el polimórficonull.¡Espero que esto ayude! :-)
fuente
Void.TYPEno apuntaVoid.class. Apunta avoid.class.Si, por razones oscuras, DEBE usar este tipo, entonces devolver nulo parece ser una opción sensata, ya que supongo que el valor de retorno no se usará de todos modos.
El compilador te obligará a devolver algo de todos modos.
Y esta clase no parece tener un constructor público, por lo que new Void () no es posible.
fuente
así.
fuente
Voidnovoid. Las otras respuestas ya parecen cubrir bastante bien el tema.