:shock: O código falha em uma linha ou mais especificamente, no entanto existe uma quebra a regra sobre Variável Wrapper.
:?: Teria como contornar ? Onde ocorre esse efeito especificamente, e porque ?
class JBOSS {
final static int EJB3=7;
final static Integer EJB2=8;
public static void main (String [] args) {
Integer EJBs=5;
String InterfaceEjbs ="i";
if(EJBs < 9) InterfaceEjbs+="z";
switch(EJBs){
case 5 : InterfaceEjbs+="v";
case EJB3: InterfaceEjbs+="s";
case EJB2: InterfaceEjbs+="y";
}
System.out.println(InterfaceEjbs);
}
}
Nao entendi o q vc quer.
Falha onde? Nao compila?
o problama nao estaria na declaracao? um vc declarou como tipo primitivo int outro como Integer.
pelo q lembro no switch eh so tipo primitivo
final static int EJB3=7;
final static Integer EJB2=8;
[quote=avsouza]Nao entendi o q vc quer.
Falha onde? Nao compila?
o problama nao estaria na declaracao? um vc declarou como tipo primitivo int outro como Integer.
pelo q lembro no switch eh so tipo primitivo
[/quote]
final static int EJB3=7;
final static Integer EJB2=8;
Vejamos então !!!
Tipos primitivos: Boolean, Byte, Char, Double, int, Long, Short
Tipos de dados primitivos avaliados por switch :byte, short, int e char
Ao contexto a instrução switch exige que suas expressões de caso sejam constantes, e variáveis wrapper (mesmo as que forem final static) não são consideradas como constantes.
final static int EBJ3=7; -----------> CONSTANTE.
final static Integer EJB2=8; Wrapper não é considerada como constante. Erro na compilação!
Tipo Primitivo (int) Classe Wrapperb [/b]Argumentos do Construtor(int ou String)
Existem outras observações a serem feitas, a respeito de amplificação mas depois as comentarei.
MODERAÇÃO: RETIRADO O CARNAVAL!
RÉPLICA: PEÇO DESCULPA PELO ARMADORISMO AQUI NO GUJ !!!
o case so ainda constante e wrapper nao é constante devido ao recurso de autoboxing… por isso que nao compila… e nao dar para discutir com um compilador… ehehe agora so uma dica quando postar… deixa o texto claro… pois ta poluido de tanto emoticions…
:idea: Classe Wrapper, todavia aqui é somente por não se considerar uma constante, e não teve algo em particular à se pensar em autoboxing isso é um recurso e não sobre a regra no que switch consideraria para avaliar sobre o Tipo de dados.
:idea: Em outra forma ainda eu poderia entender que o compilador, faz um tira-teima sobre a regra boxing, autoboxing, unboxing e que ele venha a considerar e compila mesmo satisfazendo ou não, amplificando ou não.Então existe outras particularidades, situações a se considerar.