Considere um profissional que está utilizando o Java, Java Development Kit (JDK), 17, para desenvolver uma aplicação envolvendo formas geométricas. Em determinado momento, ele constrói o seguinte código:
sealed interface Forma permits Circulo, Retangulo
{}
final class Circulo implements Forma {
double raio;
Circulo(double r) { this.raio = r; }
}
final class Retangulo implements Forma {
double largura, altura;
Retangulo(double l, double a) { this.largura = l;
this.altura = a; }
}
public class Main {
public static void main(String[] args) {
Forma f = new Circulo(2.0);
String tipo = switch (f) {
case Circulo c -> "É um círculo com raio "
+ c.raio;
case Retangulo r -> "É um retângulo de " +
r.largura + "x" + r.altura;
};
System.out.println(tipo);
}
}
Acerca do cenário apresentado, avalie as sentenças a seguir:
A instrução switch com pattern matching é uma funcionalidade estável no JDK 17, não exigindo ativação com --enable-preview. PORQUE O uso de sealed interface permite restringir a herança a tipos específicos, e combinado com switch exaustivo, permite ao compilador garantir que todos os casos foram tratados.
Acerca dessas sentenças, assinale a alternativa CORRETA.
Provas
Questão presente nas seguintes provas
Analista de TI - Desenvolvimento de Sistemas
80 Questões