Sigo encontrando que tanto aquí como en Google las personas tienen problemas para ir de un lado long
a otro int
y no al revés. Sin embargo, estoy seguro de que no soy el único que ha funcionado en este escenario antes de ir de int
a Long
.
Las únicas otras respuestas que he encontrado fueron "Solo configúrelo como Largo en primer lugar", lo que realmente no responde a la pregunta.
Inicialmente probé el casting pero obtengo un " Cannot cast from int to Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
Como puede imaginar, estoy un poco perplejo, estoy atascado con el uso, int
ya que parte del contenido está entrando como ArrayList
y la entidad para la que estoy almacenando esta información requiere el número de secuencia como Largo.
java
casting
int
long-integer
Fantasma
fuente
fuente
int
along
primero, luego asignarlong
aLong
. egint x = 2; Long y = (long)x;
Respuestas:
Tenga en cuenta que hay una diferencia entre un yeso
long
y un yesoLong
. Si realiza una conversión along
(un valor primitivo), entonces debería encuadrarse automáticamente en aLong
(el tipo de referencia que lo envuelve).Alternativamente, puede usar
new
para crear una instancia deLong
, inicializándola con elint
valor.fuente
Long
objeto cada vez.Long.valueOf()
(si no recuerdo mal ), por lo que no habría ninguna diferencia. Mi comentario fue en respuesta a la respuesta, no a tu comentario.Usar el siguiente:
Long.valueOf(int);
.fuente
Long.valueOf(int) !!
Integer
lata, que es lo que dijo.Si ya tiene el int tipeado como Integer, puede hacer esto:
fuente
utilizar
o
fuente
Tengo este pequeño juguete, que también trata con interfaces no genéricas. Estoy de acuerdo con que arroje una ClassCastException si la alimentación es incorrecta (OK y feliz)
fuente
En Java puedes hacer:
en su caso sería:
fuente
Qué tal si
// No compilará
// Compila y retiene el espíritu no NULL de int. El mejor elenco es ningún elenco . Por supuesto, su caso de uso puede requerir valores NULL largos y posibles. Pero si el int u otros largos son su única entrada, y su método puede modificarse, sugeriría este enfoque.
// Compila, es la forma más eficiente, y deja en claro que el valor de origen es y nunca será NULL.
fuente
Obtendremos el valor largo utilizando la
Number
referencia.Funciona para todos los tipos de números, aquí hay una prueba:
fuente
fuente
Tuve muchos problemas con esto. Solo quería:
Donde IntervalCount es un Long, y el JSpinner estaba configurado para devolver un Long. Finalmente tuve que escribir esta función:
que parece hacer el truco. Ninguna cantidad de casting simple, ninguna de las soluciones anteriores funcionó para mí. Muy frustrante.
fuente
jPaidCountSpinner.getValue()
devuelve un Objeto que de hecho es unLong
, definitivamente solo necesitas poner un(Long)
lanzamiento al frente. También intente poner un punto de interrupción en su chequeint.class
olong.class
etc. ¿Alguna vez lo golpeó? Y si tiene un objeto similar a un número, lo admitirájava.util.Number
, por lo que debe utilizarlo y llamar allongValue
método. No es necesario pasar por una cadena en ese caso. Por lo tanto, esta función podría simplificarse bastante, incluso si también necesita lidiar con cadenas. (Parte del problema aquí es la documentación de referencia incorrecta paraJSpinner
).fuente
Tan pronto como solo haya un método
Long.valueOf(long)
, la conversión deint
along
se realizará implícitamente en caso de usoLong.valueOf(intValue)
.La forma más clara de hacer esto es
fuente
longValue
es solo un(long)
, así que lo único que "gana" aquí esInteger
el caché interno.