OVH Cloud OVH Cloud

problème de type..

5 réponses
Avatar
os2
salut


public static void xx( Long[] a, long k, long log) {
LinkedList[] list = new LinkedList[ log ]; //ici
for( long i = 0l; i < log; i++ ){
list[ i ] = new LinkedList( );
baro++;
}


...
...
...

rendu à ici java me dit: possible lost of precision
found: long
required: int

je veux utiliser des long et non des int
--
Borland rulez http://pages.infinit.net/borland

5 réponses

Avatar
Cassé Hugues
Je suspecte Java de ne savoir utiliser que des "int" pour les index
et les tailles de tableau. Dans ce cas, tu as beau avoir une taille
"long", elle est convertie en "int" d'où ton message d'erreur.


os2 wrote:
salut


public static void xx( Long[] a, long k, long log) {
LinkedList[] list = new LinkedList[ log ]; //ici
for( long i = 0l; i < log; i++ ){
list[ i ] = new LinkedList( );
baro++;
}


...
...
...

rendu à ici java me dit: possible lost of precision
found: long
required: int

je veux utiliser des long et non des int


Avatar
Frederic Pepin
Tu n'as qu'à faire un cast....

LinkedList[] list = new LinkedList [(int)log ]; //ici


"os2" wrote in message
news:b0Xpb.72825$
salut


public static void xx( Long[] a, long k, long log) {
LinkedList[] list = new LinkedList[ log ]; //ici
for( long i = 0l; i < log; i++ ){
list[ i ] = new LinkedList( );
baro++;
}


...
...
...

rendu à ici java me dit: possible lost of precision
found: long
required: int

je veux utiliser des long et non des int
--
Borland rulez http://pages.infinit.net/borland



Avatar
captainpaf
Le Wed, 5 Nov 2003 00:02:47 -0500, "Frederic Pepin"

Tu n'as qu'à faire un cast....

LinkedList[] list = new LinkedList [(int)log ]; //ici


"os2" wrote in message
news:b0Xpb.72825$
salut


public static void xx( Long[] a, long k, long log) {
LinkedList[] list = new LinkedList[ log ]; //ici
for( long i = 0l; i < log; i++ ){
list[ i ] = new LinkedList( );
baro++;
}


...
...
...

rendu à ici java me dit: possible lost of precision
found: long
required: int

je veux utiliser des long et non des int
--
Borland rulez http://pages.infinit.net/borland





Le problème içi c'est que le cast ne fera que masquer une erreur de
conception.
Si tu veux utiliser une liste contenant + d'élèment que
Integer.MAX_VALUE, je te conseil plutôt d'utiliser une autre class que
LinkedList.


Avatar
Skaldruhkk
captainpaf wrote:
Le Wed, 5 Nov 2003 00:02:47 -0500, "Frederic Pepin"


Tu n'as qu'à faire un cast....

Le problème içi c'est que le cast ne fera que masquer une erreur de

conception.
Si tu veux utiliser une liste contenant + d'élèment que
Integer.MAX_VALUE, je te conseil plutôt d'utiliser une autre class que
LinkedList.



Une liste contenant plus de deux milliards d'éléments ???
En java qui plus est ?

Glup.

--
naaalb!


Avatar
captainpaf
Le Wed, 05 Nov 2003 11:15:46 +0100, Skaldruhkk

captainpaf wrote:
Le Wed, 5 Nov 2003 00:02:47 -0500, "Frederic Pepin"


Tu n'as qu'à faire un cast....

Le problème içi c'est que le cast ne fera que masquer une erreur de

conception.
Si tu veux utiliser une liste contenant + d'élèment que
Integer.MAX_VALUE, je te conseil plutôt d'utiliser une autre class que
LinkedList.



Une liste contenant plus de deux milliards d'éléments ???
En java qui plus est ?

Glup.


Ben en fait, on se fiche un peu de la valeur de Integer.MAX_VALUE, os2
affirme vouloir utiliser des long et pas des int, ils nous suffit de
supposer bêtement qu'il a ses raisons: tous les index ne seront peut
être pas occupés ? Et dans ce cas, il n'utilise pas LinkedList. Si ses
raisons ne sont pas valables, il remplace ses long par des int. Dans
tous les cas, le cast içi n'est vraiment pas une solution.