Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 8 da Aula 7 - Criando e Manipulando Strings

Neste exercício temos o seguinte código,

class A {
    static String vazio;
    public static void main(String[] args) {
        String full = "Bem-vindo " + vazio;
        System.out.println(full);
    }
}

Não daria nullPointerException? por a String vazio não ter incivilizada ? Ou só por que é um atributo da classe não precisa?

3 respostas
solução!

Oi Maurício, tudo bem com você?

Eu entendo que nesse caso o valor impresso para vazio seria null. Deixe me explicar o motivo: "vazio" é uma variável membro ou atributo da classe A. E sabemos que variáveis com essa característica recebem valor padrão. Por exemplo, se ela fosse int receberia 0. Entendo que se fosse um array ela também receberia um valor null, só por se tratar de uma variável do tipo membro, atributo....

Esse comportamento não se aplica as variáveis locais(declaradas dentro de métodos), que devem sempre ter um valor na sua inicialização. Se for uma variável do tipo array, local e sem uma atribuição de valor, podemo ter um retorno do tipo nullPointer.

Abraço.

Obrigado, me tirou a dúvida!!

Abraço

Oi, Maurício.

Por nada. Boa sorte nos estudos.