[Java/Eclipse] methode-aanroep met 0 varargs compileert niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 13:31
Ik heb een probleem met varargs in Java/Eclipse. We maken namelijk gebruik van een klasse uit een library waarvan we een methode gebruiken waarvan het laatste argument van het type Klasse... is; oftewel, één of meerdere instanties van Klasse. Ook in de JavaDoc van deze library staat dat dit argument optioneel is. Eclipse weigert echter te bouwen: The method m(File, String, Foobar, Klasse...) in the type EenType is not applicable for the arguments (File, String, Foobar). Null als vierde argument geven helpt niet. Een enkele instantie van Klasse ook niet.

Ik heb niet eerder varargs gebruikt en heb eens codevoorbeelden gezocht om te kijken of deze zouden compileren; dit om uit te sluiten dat er iets met de compilerconfiguratie aan de hand zou zijn. Iets als:
Java:
1
2
3
4
5
6
7
private void printGreeting(int num, String... names) {
        for (String n : names) {
            System.out.println(num + "Hello " + n + ". ");
        }
}

printGreeting(0);

Dit werkt prima, geen rode kriebeltjes in m'n code, compileert. Maar in de methode-aanroep die er in onze code echt toe doet krijg ik dus de eerder genoemde melding dat de methode voor die argumenten niet bestaat... terwijl een vararg gewoon leeg zou moeten mogen zijn en zelfs al geef je een argument mee van het gewenste type, dan pikt-ie 'm nog niet :/ .

Enig idee wat dit precies kan zijn...?

[ Voor 6% gewijzigd door Bananenplant op 12-06-2007 11:41 . Reden: pogingen met null/instantie van Klasse toegevoegd ]

💶 Wil je in een vrije democratie blijven wonen? Betaal dan voor nieuws. 📰
❌ ceterum censeo contra factiones ad dextrum extremum esse pugnandum. 🙅🏻‍♂️


Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 19:10

Robtimus

me Robtimus no like you

Ik heb het hier net geprobeerd en hier werkt het wel goed.

Welke versie heeft je JVM? Maw, kijk eens wat "java -version" teruggeeft.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Acties:
  • 0 Henk 'm!

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Weet je zeker dat de qualified names van die parameters gelijk zijn? Dan krijg je namelijk ook deze fout.



ofwel, exact dezelfde bla.bla.String, bla.bla.File en bla.bla.Foobar?

[ Voor 27% gewijzigd door JKVA op 12-06-2007 12:21 ]

Fat Pizza's pizza, they are big and they are cheezy


Acties:
  • 0 Henk 'm!

  • Bananenplant
  • Registratie: Januari 2001
  • Laatst online: 13:31
Hmm, ik heb net Java 6 geïnstalleerd... en dat maakte geen verschil, daarvoor was het Java 5. Die qualified names ga ik inderdaad nu eens naar kijken :) .

(En dat deed het trucje, bedankt :*) !)

[ Voor 12% gewijzigd door Bananenplant op 12-06-2007 12:54 ]

💶 Wil je in een vrije democratie blijven wonen? Betaal dan voor nieuws. 📰
❌ ceterum censeo contra factiones ad dextrum extremum esse pugnandum. 🙅🏻‍♂️


Acties:
  • 0 Henk 'm!

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

ucchan schreef op dinsdag 12 juni 2007 @ 12:36:
Hmm, ik heb net Java 6 geïnstalleerd... en dat maakte geen verschil, daarvoor was het Java 5. Die qualified names ga ik inderdaad nu eens naar kijken :) .

(En dat deed het trucje, bedankt :*) !)
Nu ben ik wel benieuwd welk package het probleem was> :P

Was het een com.sun.org.apache.xpath.internal.operations.String?

Of een org.apache.xpath.operations.String?

Of misschien een com.sun.java.util.jar.pack.Package.File?

Dat probleem heb ik namelijk ook regelmatig, per ongeluk een verkeerde import kiezen met Eclipse. :P

Fat Pizza's pizza, they are big and they are cheezy


Acties:
  • 0 Henk 'm!

  • akaIDIOT
  • Registratie: Januari 2005
  • Laatst online: 06-08 18:13
Het vervelede van String hier is dat ie standaard in java.lang zit, en dus geen import vereist... Als je dan een ander soort String er in gaat proppen...

*stu!ter* *boink*

Pagina: 1