Chapter III - Core Java APIs Flashcards
Não posso colocar um valor inteiro em uma variável String. Isso só funcionaria se eu concatenasse uma string com um inteiro, por exemplo.
Strings usam “equals()” para comparar o valor. Se eu usar “==”, o Java vai comparar a referência dos objetos.
Toda string “literal” criada é alocada dentro da “string pool”.
Toda string criada a partir do construtor é alocada na memória heap como qualquer outro objeto do programa.
Objetos imutáveis podem ser coletados pelo Garbage Collector como qualquer outro objeto.
Strings são imutáveis mas StringBuilder e StringBuffer são mutáveis.
Eu não posso comparar uma instância do tipo string com uma instância do tipo StringBuilder. O código não vai compilar.
O método “charAt()” vai lançar uma exception do tipo StringIndexOutOfBoundsException se o parametro passado for uma posição que não existe no objeto string.
O método “substring()” retornará uma string vazia se os parâmetros start e end forem iguais. Ele também lançara StringIndexOutOfBoundException se o primeiro argumento for maior que o segundo.
Se dois objetos string têm o mesmo valor mas um deles foi construído usando concatenação, eles não estão apontando para o mesmo objeto. Isso significa que um objeto concatenado não está alocado na string pool (ou seja, ele está alocado na heap).
Ter cuidado quando uma exceção é lançada antes do método “System.out.println()” ser executado, porque nesse caso o programa não irá printar nada além da exception.
Os parâmetros do método “delete()” são inclusívos, ou seja, ele vai remover os caracteres incluindo as posições de início e fim.
O método “substring()” inclui o índice de início mas não inclui o índice de fim. Ele também retorna uma string (claro) e não um objeto StringBuilder.
Não posso atribuir uma string para um objeto do tipo StringBuilder. O código não vai compilar.
Não posso declarar um array em java sem o size! Há não ser que eu já instancie ele com os valores, nesse caso ele é um array anônimo.
List e ArrayList não possuem um método “length()”. Eles possuem na verdade um método “size()”