Puede definir ArrayList<char> como argumento de validate. Por qué no se puede hacer? Cuando se trata ArrayList<?> funciona. Por qué? Debe ArrayList<?> ser utilizado en lugar de ArrayList<char>? ¿Cuál es la diferencia?

public boolean validate(ArrayList<char> args){ ... }

De Error: Syntax error on token "char", Dimensions expected after this token

OriginalEl autor J.Olufsen | 2012-05-07

5 Comentarios

  1. 14
    public boolean validate(List<Character> args){ ... }

    Tiene que ser el contenedor de tipo CharacterList<Character>. Usted no puede utilizar los genéricos con los tipos primitivos.

    OriginalEl autor Bozho

  2. 7
    public boolean validate(ArrayList<Character> args){ ... }

    Cuando el uso de genéricos en java, no puede utilizar las primitivas de tipo de datos, pero se puede usar Carácter, que es el Objeto que representan primitivo char con poca sobrecarga en la memoria.

    OriginalEl autor Pau Kiat Wee

  3. 1

    Usted podría tratar de hacer algo como así: public boolean validate(ArrayList<Character> args){ ... }

    OriginalEl autor npinti

  4. 1

    En general, cuando estás tratando con un objeto genérico, tales como ArrayList<T>, usted está obligado a utilizar los objetos. La diferencia entre char y Character es que Character es un objeto, y está permitido para ser utilizado en el interior de un objeto genérico.

    De referencia, cada tipo primitivo tiene su propio objeto contenedor. Usted puede comprobar que fuera aquí.

    OriginalEl autor Makoto

  5. 1

    La clase contenedora de char en Java es el Carácter y char debe ser especificado como Personaje al agregar objetos char o validación de objetos de caracteres en un ArrayList.

    ArrayList<Character>list = new ArrayList<Character>();

    OriginalEl autor Arianule

Dejar respuesta

Please enter your comment!
Please enter your name here