OVH Cloud OVH Cloud

cannot resolve symbol method get sur Vector

6 réponses
Avatar
yvon.thoravalNO-SPAM
J'ai une erreur de compil que je ne pige pas :

symbol : method get (int)
location: class java.lang.Object
if (data.get(i).get(0) != null) {
^

le prog :

Vector data = new Vector();
while(bouteilles.next()) {
Vector dat = new Vector();
for (int j = 0; j < fields.length; j++) {
dat.add(bouteilles.getObject(j + 1));
}
data.add(dat);
}
System.out.println("data = " + data.toString());
// OK au print-out si je commente là où javac se plaind
// soit ce qui se trouve ci-dessous :
[...]
for (i = 0;i < data.size(); i++) {
if (data.get(i).get(0) != null) {
//--erreur------^
bout += data.get(i).get(0).toString();
//--erreur------------^
} else {
bout += "";
}
for (int j = 1; j < fields.length; j++) {
if (data.get(i).get(j) != null) {
//--erreur---------------^
bout += "\t" + data.get(i).get(j).toString();
//--erreur---------------------^
} else {
bout += "\t";
}
}
bout += "\n";
}
JOptionPane.showMessageDialog(null, bout + "\n");

c'est un problème de scope ???
--
yt

6 réponses

Avatar
Mat Free
dans <1ge90mj.f1reuxxkb96oN%
J'ai une erreur de compil que je ne pige pas :

symbol : method get (int)
location: class java.lang.Object
if (data.get(i).get(0) != null) {
^


Si j'ai bien compris tu as un Vector dans un Vector

donc :

if (((Vector)data.get(i)).get(0) != null)


le prog :

Vector data = new Vector();
while(bouteilles.next()) {
Vector dat = new Vector();
for (int j = 0; j < fields.length; j++) {
dat.add(bouteilles.getObject(j + 1));
}
data.add(dat);
}
System.out.println("data = " + data.toString());
// OK au print-out si je commente là où javac se plaind
// soit ce qui se trouve ci-dessous :
[...]
for (i = 0;i < data.size(); i++) {
if (data.get(i).get(0) != null) {
//--erreur------^
bout += data.get(i).get(0).toString();
//--erreur------------^
} else {
bout += "";
}
for (int j = 1; j < fields.length; j++) {
if (data.get(i).get(j) != null) {
//--erreur---------------^
bout += "t" + data.get(i).get(j).toString();
//--erreur---------------------^
} else {
bout += "t";
}
}
bout += "n";
}
JOptionPane.showMessageDialog(null, bout + "n");

c'est un problème de scope ???


--
Mat

Avatar
yvon.thoravalNO-SPAM
Mat Free <mat.freeNO_SPAM+ wrote:

Si j'ai bien compris tu as un Vector dans un Vector

donc :

if (((Vector)data.get(i)).get(0) != null)


OUI, merci beaucoup, c'était bien ça, il y a pas un moyen de le déclarer
au départ quand je fais :

Vector data = null;
Vector dat = null;

comme je mets des "dat" dans "data"...
--
yt

Avatar
Unknown
comme je mets des "dat" dans "data"...
Non car par défaut quand tu fais un add la signature de la méthode

implique que tu passe un object.
mais rassure toi en Java 1.5 (pour bientot et déjà en download beta) tu
pourras avoir des List typés donc oui mais aps tout de suite :)

Avatar
yvon.thoravalNO-SPAM
Unknown wrote:

mais rassure toi en Java 1.5 (pour bientot et déjà en download beta) tu
pourras avoir des List typés donc oui mais aps tout de suite :)


Bon, ben j'attendrai 1.5, sur MacOS X, ça sera + long que sur win...
--
yt

Avatar
Unknown
Bon, ben j'attendrai 1.5, sur MacOS X, ça sera + long que sur win...


Mais non, fabrique donc toi un object VectorBouteille extends Vector et
surcharge les méthodes ta migartion en sera facilité

Avatar
yvon.thoravalNO-SPAM
Unknown wrote:


Mais non, fabrique donc toi un object VectorBouteille extends Vector et
surcharge les méthodes ta migartion en sera facilité


Oui, oui, d'accord, c'est ce que je ferai (futur), c'est tout à fait
dans mes projets, je pense d'ailleurs abandonner PostgreSQL et passer
sur Ozone, j'en ai marre de bricoler entre les types SQL et les classes
Java. Là je pourrai définir un objet "Bouteille" et le ranger
directement dans la base.
--
yt