unqualified the switch strings name must example enum constant java class enums

the - Usando enums en Java a través de múltiples clases



enum kotlin android (4)

Tengo la siguiente clase:

public class Card { public enum Suit { SPACES, HEARTS, DIAMONDS, CLUBS }; public Card(Suit nsuit, int nrank) { suit = nsuit; rank = nrank; } private Suit suit; private int rank; }

Quiero crear una instancia en otra clase, pero esa clase no entiende la enumeración de Suit . ¿Dónde debo colocar la enumeración para que sea públicamente visible?


La enumeración de Suit está dentro de la clase de Card , y debes acceder a ella de esa manera:

Card.Suit suit = Card.Suit.CLUBS;


La enumeración de Suit está dentro de la clase de Cartas, y debes acceder a ella de esa manera:

new Card(Card.Suit.SPADES, 1);

O bien, puede importar la clase de Traje desde dentro de la Tarjeta, y acceder a ella directamente:

import my.package.Card.Suit; new Card(Suit.SPADES, 1);

La otra opción es poner Suit en su propia clase, como lo sugiere Bert.


La enumeración ya es visible.

Card card = new Card(Card.Suit.CLUBS, 5);

instanciar una nueva tarjeta.

No relacionado ... pero es posible que desees convertir el traje de Spaces en el traje de Spades. :)


Poner traje en su propia clase:

Suit.java:

public enum Suit { SPACES, HEARTS, DIAMONDS, CLUBS }