Alguém teria um vídeo ou artigo com uma explicação bem detalhada?
Agradeço a atenção.
Alguém teria um vídeo ou artigo com uma explicação bem detalhada?
Agradeço a atenção.
Olá, Diógenes
Entendo que você esteja confuso, Java pode ser um pouco complicado às vezes. Vou tentar esclarecer sua dúvida.
No exercício em questão, a resposta correta é que o código não compila ao tentar invocar o construtor. Isso ocorre porque o construtor do objeto String em Java não aceita um argumento nulo.
Aqui está um exemplo prático. Se você tentar executar o seguinte código:
String s2 = new String(null);
Você receberá um erro de compilação, pois o construtor da classe String não aceita um argumento nulo.
Agora, se você tentar algo como:
String s2 = new String("null");
O código será compilado e executado com sucesso, pois você está passando uma string "null", e não um valor nulo.
Espero que essa explicação tenha ajudado a esclarecer a sua dúvida. Lembre-se, a prática é a chave para o aprendizado, então continue tentando e testando diferentes códigos. Espero ter ajudado e bons estudos!
Opa, grato pelo retorno.
Eu fiquei na dívida pq no vídeo e no exercício ele fala que o JAVA não sabe para quem atribuir o valor nulo e por isso não compila.
Você trás que a explicação que a questão está em que o construtor é quem não aceita o valor nulo como argumento. No caso, mais fácil de entender se for apenas isso. rs
Agradeço mais uma vez a explicação. Grande abraço.
Fico feliz em poder ajudar a esclarecer sua dúvida! A linguagem Java é conhecida por sua rigorosa tipagem estática, e situações como essa, em que você tenta criar um objeto String com um valor nulo como argumento, podem ser um pouco confusas.
Na verdade, a explicação do construtor da classe String não aceitar um valor nulo como argumento é uma das razões para o código não compilar. No entanto, a explicação dada no vídeo também faz sentido, pois o compilador não consegue determinar qual construtor sobrecarregado da classe String deve ser usado quando você passa um valor nulo, o que pode levar a ambiguidades.
Em qualquer caso, é importante entender que essa é uma particularidade da linguagem Java e que é importante seguir as regras de tipagem e construção de objetos da linguagem para evitar erros de compilação.