Objetos e Switch Cas

Oi pessoal.

Estou começando agora no Java, e estou fazendo uma calculadora simples.

    JOptionPane.showMessageDialog(null,"Bem vindo a Calculadora java!");
    
    N1=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro numero: "));
    N2=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo numero: "));
    
    Object [] itens = {"Adiçao","Subtração","Multiplicação","Divisão"};
    Objetct selectedValue=(Objetct) JOptionPane.showInputDialog(null,"Escolha a operação","Opção",JOptionPane.INFORMATION_MESSAGE,null,itens,itens[0]);

Eu criei uma caixa de opções onde o usuário escolhe a operação desejada.
Agora eu queria fazer um Switch para realizar as operações, mas o NetBeans me diz que não posso usar Objetos…
Existe opção de conversão? não consigo encontrar nada.

Abraços!

Cara, seria bom dar uma lida na documentação do java, ela é bem bacana para esclarecer dúvidas.
Acontece que o switch do java só funciona com:

  • int
  • char
  • String
  • enum
    Qualquer coisa fora disso, não.
    Você pode sim converter teu objeto em String, invocando o método toString() dele, mas não sei se é o mais indicado.
    Conhecer a linguagem, seus recursos e a forma como a mesma permite a resolução das situações é fundamental para conseguir evoluir como desenvolvedor.
1 curtida

Usa if/else if é a mesma coisa

1 curtida

Olá Oliveiro, o Switch no Java não aceita objetos complexos, aceitando somente (Java 7 > ) os tipos primitivos byte, short, char e int e tipos de ENUM e a classe String. Caso queira saber mais sobre o Switch você pode dar uma olhada aqui.
Caso você vá colocar diversos switch/if no código, talvez não seja a melhor coisa a fazer e pesquisar alguns padrões de projetos, que seria a melhor alternativa. Caso tenha interesse, pode ver alguns como este do Guilherme Silveira no Blog da Caelum e este outro, utilizando o padrão de Strategy.

1 curtida

Obrigado pelas indicações!!!