Comment puis-je convertir de int en Long en Java?
Je continue de trouver à la fois ici et sur Google des personnes ayant des troubles allant de long
à int
et non l'inverse. Pourtant, je suis sûr que je ne suis pas le seul qui a exécuté ce scénario avant d'aller de int
à Long
.
Les seuls autres réponses que j'ai trouvées étaient "Juste mis aussi Longtemps à la première place", ce qui n'est pas vraiment répondre à la question.
J'ai d'abord essayé de casting, mais je reçois 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);
}
Comme vous pouvez l'imaginer, je suis un peu perplexe, je suis bloqué à l'aide de int
depuis quelques contenu est à venir dans un ArrayList
et l'entité pour laquelle je suis le stockage de cette information nécessite le numéro de séquence comme une Longue.
- for (long i = 0; i < myList.size(); ++i) travaille trop
- Oui qui va travailler pour la boucle, mais comme je l'ai spécifié au fond de ma question, la liste de tableaux, je travaille avec nécessite la primitive int lors de la spécification de ce que l'indice de position pour obtenir
- long longValue = intValue | 0L;
- Ce que j'ai fait est: fonte
int
àlong
d'abord, puis d'attribuerlong
àLong
. e.gint x = 2; Long y = (long)x;
Vous devez vous connecter pour publier un commentaire.
Remarque qu'il y a une différence entre une troupe de
long
et une fonte deLong
. Si vous lancez àlong
(une valeur primitive), alors il devrait être automatiquement boîte àLong
(le type de référence que l'enveloppe).Vous pouvez également utiliser
new
pour créer une instance deLong
, l'initialiser avec laint
valeur.Long
objet à chaque fois.Long.valueOf()
(si je me souviens bien), donc il n'y aurait pas de différence du tout. Mon commentaire était en réponse à la réponse, pas à votre commentaire.a == b
de comparer les deux en boîte valeurs! Apparaîtra à travailler si elles sont dans le "stage" de la gamme, ne va pas si pas. Et la gamme est un minimum de -128 à 127, mais peut-être plus. (Je pense que c'est vrai, on dirait que j'ai tapé à l'envers dans mon dernier commentaire).Utiliser les éléments suivants:
Long.valueOf(int);
.Long.valueOf(int) !!
Integer
, c'est ce qu'il a dit.Si vous avez déjà l'int tapé comme un Entier vous pouvez le faire:
utilisation
ou
J'ai ce petit jouet, qui traite également avec les interfaces génériques.
Je suis OK avec lui jetant un ClassCastException si l'alimentation de mal (OK et heureux)
En Java que vous pouvez faire:
dans votre cas, il serait:
Nous aurons le long de la valeur à l'aide de
Number
de référence.Il fonctionne pour tous les types de numéro, voici un test:
Comment Sur
//Ne compile pas
//Compile, et conserve la non-NULL esprit de int. Le meilleur cast est pas de fonte à tous les. Bien sûr, votre cas d'utilisation peut nécessiter de Longues et possible, les valeurs NULL. Mais si l'int, ou d'autres longs sont votre seule entrée, et votre méthode peut être modifiée, je vous suggère cette approche.
//Compile, est le moyen le plus efficace, et il est clair que la valeur de la source, est et ne sera jamais NULLE.
J'ai eu beaucoup de mal avec cela. Je voulais juste:
Où IntervalCount est Longue, et la JSpinner était le retour d'une Longue. Finalement, j'ai eu à écrire cette fonction:
qui semble faire l'affaire. Aucun montant de la fonderie simple, aucune des deux solutions n'a fonctionné pour moi. Très frustrant.
jPaidCountSpinner.getValue()
retourne un Objet qui est en fait unLong
, vous avez certainement besoin seulement de mettre un(Long)
fonte en face. Essayer aussi de mettre un point d'arrêt sur votre chèque deint.class
oulong.class
etc. Ne jamais frapper? Et si vous avez un certain nombre-comme l'objet, il soutiendrajava.util.Number
, afin de le jeter et appeler lalongValue
méthode. Pas besoin de passer par l'intermédiaire d'une chaîne de caractères dans ce cas. De sorte que cette fonction pourrait être simplifié un peu, même si vous avez également besoin de traiter avec des chaînes. (Partie du problème ici, c'est le revers de la documentation de référence pourJSpinner
).Dès qu'il existe une seule méthode
Long.valueOf(long)
, fonte deint
àlong
sera fait de façon implicite dans le cas de l'utilisationLong.valueOf(intValue)
.Le plus clair façon de le faire est