Chapter III - Core Java APIs Flashcards

1
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Strings usam “equals()” para comparar o valor. Se eu usar “==”, o Java vai comparar a referência dos objetos.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Objetos imutáveis podem ser coletados pelo Garbage Collector como qualquer outro objeto.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Strings são imutáveis mas StringBuilder e StringBuffer são mutáveis.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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).

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Não posso atribuir uma string para um objeto do tipo StringBuilder. O código não vai compilar.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

List e ArrayList não possuem um método “length()”. Eles possuem na verdade um método “size()”

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Arrays and ArrayLists são ordenados e possuem índexes, por definição. Isso não significa dizer que eles possuem os elementos ordenados, para fazer isso preciso chamar um método de sort, por exemplo.

A
17
Q

Arrays não fazem override do “equals()”o que significa dizer que se eles forem comparados, eles irão comparar a referência e não se cada elemento de ambos os arrays são iguais. Então comparar dois arrays sempre irá retornar falso (há não ser que eu esteja a comparar um array com ele mesmo).

A
18
Q

Quando um método de search de um Array é chamado em um array não ordenado, o resultado é sempre imprevisível.

A
19
Q

Não existe um método “asList()” em uma instância de um array. Existe apenas o método estático da classe: “Arrays.asList()”.

A
20
Q

Ter cuidado!
Não posso adicionar horas à uma instancia de um objeto do tipo date.
LocalDate, LocalTime e LocalDateTime são todos válidos, mas eu preciso ter cuidado para perceber a instância e o método que a questão está pedindo.

A
21
Q

Uma runtime exception é lançada se eu passar mais que 31 dias ou 12 meses ou 24 horas ou 60 minutos/segundos em um objeto do tipo date ou time.

A
22
Q

Os métodos das classes LocalDate/Time retornam um novo objeto com os novos valores e não retorna uma referência para ele próprio (como o StringBuilder, por exemplo).

A
23
Q

Ter cuidado com os métodos da classe formatter.

“ofLocalizedTime()” e “ofLocalizedDateTime()” executam sobre objetos do tipo time e date time, respectivamente.

A
24
Q

Métodos da classe Period não funcionam com chaining. Ou seja, se eu fizer o chaining de vários métodos, somente o último será guardado.

A
25
Q

Ter sempre cuidado com os retornos dos métodos. Isso é meio que crucial!

A
26
Q

O método “trim()” remove os espaços em branco do início e do fim da string, mas NÃO do meio dela.

A
27
Q

Tipos de resultado quando uma busca é executada em um array:

Busca em um array ordenado - index do elemento
Busca em um array desordenado - um resultado não prevísivel
Quando um elemento não é encontrado - index negativo de onde o elemento deveria ser colocado.

A
28
Q

Igualdade logica: é a igualdade do valor contido no objeto.
Igualdade de objeto: é a igualdade que compara as referencias dos objetos, ou seja, se eles estao apontando/referenciado para o mesmo lugar.

A
29
Q

ArrayList.remove() ira remover apenas o primeiro elemento que seja igual ao objeto passado como parametro. Ou seja, se eu tiver dois objetos que atendam ao parametro, um sera removido e o outro permanecera no array.

A
30
Q

Classes “Wrappers” sao classes dos tipos primitivos do Java.

A
31
Q

“parseInt()” retorna o valor primitivo e o metodo “parseOf()” retorna a classe wrapper.

A
32
Q

Autoboxing eh a feature do Java que me permite criar objetos (wrappers) apenas com o valor primitivo, ou seja, nao preciso instanciar o objeto com o operador new.

Ter cuidado ao utilizar o autoboxing com o tipo integer

A
33
Q

Quando eu converto um array em uma lista (Arrays.asList()), ambos arrays estao linkados entre si (backed list). Isso significa que se eu alterar o valor de um eu tambem altero o do outro.
Entretanto, nao posso alterar o tamanho do array (seja salvando ou removendo elementos). Caso eu faca isso, UnsupportedOperation Exception sera lancada em tempo de execucao.

A
34
Q

Meses, nas classes de data, iniciam com o valor “1”. Ou seja, Month.JANUARY tem o valor de 1.

A
35
Q

Objetos do tipo LocalDate, LocalDateTime e LocalTime nao sao instanciados pela palavra new. Todos sao criados a partir de um metodo static de sua respectiva classe.

A