mikrocontroller.net

Forum: PC-Programmierung java: Warning: Redundant array creation for calling varargs method


Autor: Uhu U. (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Parameterliste
newInstance(new Object[]{sp, val})

produziert folgende Java-Lint-Fehlermeldung:
Warning: Redundant array creation for calling varargs method

Die Signatur von newInstance lautet:
public T newInstance(Object... args)

Wie bekommt man die Warnung weg?

: Bearbeitet durch User
Autor: Jack (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Uhu U. schrieb:
> Die Parameterliste
>
> newInstance(new Object[]{sp, val})
> 
>
> produziert folgende Java-Lint-Fehlermeldung:
>
>
> Warning: Redundant array creation for calling varargs method
> 
>
> Die Signatur von newInstance lautet:
>
> public T newInstance(Object... args)
> 
>
> Wie bekommt man die Warnung weg?
newInstance(sp, val)

Varargs wurden ja eingeführt, damit man nicht selber ein Array anlegen 
muss.

Autor: Heiko L. (zer0)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jack schrieb:
> Varargs wurden ja eingeführt...

[i]ja[/i] - Partikel. ...
XI) "Es ist [i]ja[/i] so, dass ...", "Es ist [i]ja[/i] offensichtlich 
..."
Worteinschub, mit welchem der Redner zum Ausdruck bringt, dass er 
hiermit versucht, der folgenden Unterstellung [i]implizit[/i] Geltung zu 
verleihen. Somit stets lohnender Einstiegspunkt für eine Rückfrage bzw. 
Widerspruch.

Pointe dabei:
> Wie bekommt man die Warnung weg?
Kommt darauf an - man kann zB nicht ein Object[] als das erste dieser 
Objekte übergeben, ohne doppelt zu verschachteln.
f(new Object[]{ new Object[]{ someObject, anotherObject } });
Bei Übergabe von "null" ist das Paramter-Array null - es knallt also bei 
"args.length".
f(new Object[]{ null });

f(Object... args);
besagt in Java nicht, dass f eine Reihe von Objekten als Parameter 
übernimmt, sondern dass f ein Object[] übernimmt, für welches in diesem 
Kontext eine bestimmte Kurzschreibweise zulässig aber nicht zwingend 
ist.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.