Según esta muy buena respuesta en la pregunta "Varargs en la sobrecarga de métodos en Java" a continuación, se encuentran las reglas utilizadas por el compilador de Java para seleccionar la firma del método a invocar. Se basan en JLS 5.3. Método Invocación Conversión docs.
Object
pero no aLong
int
puede convertirse en Object
via Integer
)int
no puede convertirse Long
)Debido a que ambos constructores son var-args (regla 7), el compilador recurrirá a otras reglas y seleccionará el método que utiliza el tipo más pequeño (regla 1).
Puede confirmar este comportamiento con el siguiente código:
static class SomeClass {
SomeClass(long... value) { System.out.println("Long"); }
SomeClass(int... value) { System.out.println("Int"); }
SomeClass(byte... value) { System.out.println("Byte"); }
}
public static void main(String[] args) throws Exception {
SomeClass o = new SomeClass(); // Byte
}
La relación de subtipo precisa entre los tipos primitivos utilizados en la regla 1 se explica en JLS 4.10.1. Subtipificación entre tipos primitivos .
Las siguientes reglas definen la relación de supertipo directo entre los tipos primitivos:
doble> 1 flotador
flotador> 1 largo
largo> 1 int
int> 1 char
int> 1 corto
corto> 1 byte
He utilizado múltiples subprocesos sincronizados para procesar múltiples transacciones y estas transacciones se obtienen de la base de datos mediante el uso de marcos de hibernación y el concepto de bloqueo utilizado. El problema es que cada hilo ...
Estoy usando CosmosDb para un proyecto, y primero estaba probando la API SQL Document-db java. Con esa API, puedo establecer TTL a nivel de elemento directamente en el propio documento. Ex. Documento documento = documento nuevo (nuevo ...
¿Cómo encuentro la similitud de coseno entre dos vectores y cada elemento del vector tiene un rango diferente? Por ejemplo, cada vector tiene dos elementos, V = {v [0], v [1]}, como {edad, altura}, donde edad ...
Antecedentes: mi objetivo es recopilar varias marcas de tiempo mientras ejecuto las pruebas JUnit 5 en un entorno Spring para crear una estadística de las duraciones de las diferentes tareas. (Repositorio para referencia) ...