Si recuerdo correctamente cada objeto en Java puede ser anulable. Los tipos primitivos (int, double, float, char
etc ...) no pueden ser nulos. Para usar null con ellos, debe usar su contraparte de objeto (Integer, Double, Float...
)
En cuanto a las fechas, java.util.Date es un objeto, por lo que puede ser nulo. Lo mismo ocurre con el Calendario & GregorianCalendar.
código equivalente será algo como:
public Date date(Date dt) throws NullPointerException {
if (dt == null) throw new NullPointerException();
...
}
En C# se puede utilizar? para permitir val nulo en tipos primitivos (por ejemplo, para forzar errores de referencia nulos de objetos). No entiendo por qué esto te molesta. Si necesita, por ejemplo, un parámetro entero nullable en java, simplemente tiene que usar java.lang.Integer
y no el tipo de primitiva int
.
No creo que haya ninguno. –
Este método devuelve un DateTime que se puede nulos, pero su argumento no puede contener nulos. –
El ejemplo 'C#' permite devolver un DateTime que admite nulos. El DateTime que se pasa como el parámetro no puede ser nulo. –