convertir Long[] long[] (primitive) de java
Comment puis-je convertir Long[] long[]? Par exemple je sais comment faire pour convertir si c'est pas de tableau comme ci-dessous.
long ll = (Long)Object[1].longValue()
Mais comment puis-je convertir pour un tableau, ci-dessous n'est pas droit, mais quelqu'un peut-il corriger?
long[] l_ar = (Long[])Object[]
- Est-il une raison pour laquelle vous avez besoin de faire cela? La raison la plus commune que vous utilisez une
long[]
au lieu d'un Long[]
est de sauver de l'espace et pour des raisons de performances. Si vous avez déjà leLong[]
, qu'est-ce que vous essayez de faire? Ou vous êtes simplement curieux? - Une utilisation serait si vous avez un
Long[]
, mais vous êtes de passage à une fonction qui attend unlong[]
. - La droite. Dans mon expérience, cette situation n'arrive pas très souvent, donc j'étais juste curieux de ce que l'OP est situation est.
Vous devez vous connecter pour publier un commentaire.
Vous pourriez voler une solution basée sur
ArrayUtils
Il y a pas API standard de la méthode pour le faire (comment
null
-éléments seront-ils traités?) si vous avez besoin pour créer une telle méthode vous-même.Quelque chose comme cela (va jeter
NullPointerException
sur n'importe quel objet étantnull
):à l'aide de java 8 flux:
Pour ce faire, le meilleur moyen serait de naviguer à travers chaque tableau.
Par exemple, allez de temps[] long[]:
En raison de l'auto-unboxing, cela devrait fonctionner par la conversion de Longue de longue.
Merci pour chacun de réponse; je suis juste coller ma dernière solution choisie.