# JAVA EE - pagina 61

**URL:** <https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404>\
**Category:** Livros\
**Tags:** java-ee\
**Created:** [Janeiro 3, 2017, 2:23pm UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404 "2017-01-03T14:23:09Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kovalev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/kovalev/32/14233_2.png) [@Kovalev](https://forum.casadocodigo.com.br/u/Kovalev)\
**Post date:** [Janeiro 3, 2017, 2:23pm UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/1 "2017-01-03T14:23:09Z")

</div>

Bom dia, Estou encontrando uma dificuldade na pagina 61 do livro JAVA EE quando declaro no AdminBooksBean alguém poderia me ensinar a resolve-lo:

> private void populateBookAuthor() {  
> selectedAuthorsIds.stream().map( (id) → {  
> return new Author(id);  
> }).forEach(product \_ add);  
> }  
> }

Multiple markers at this line  
- add cannot be resolved to a variable  
- '_’ should not be used as an identifier, since it is a reserved keyword from source  
level 1.8 on  
- Syntax error on token "_", invalid AssignmentOperator

---

<div class="post-metadata">

**Author:** ![gracyane\_oliveira](https://avatars.discourse-cdn.com/v4/letter/g/f9ae1b/32.png) [@gracyane\_oliveira](https://forum.casadocodigo.com.br/u/gracyane_oliveira)\
**Post date:** [Janeiro 3, 2017, 7:20pm UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/2 "2017-01-03T19:20:51Z")

</div>

Parece que ele reclama do undeline “\_” de product add.  
Deixe essa variável sem o undeline, podendo ficar assim: “productAdd”

---

<div class="post-metadata">

**Author:** ![Kovalev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/kovalev/32/14233_2.png) [@Kovalev](https://forum.casadocodigo.com.br/u/Kovalev)\
**Post date:** [Janeiro 3, 2017, 7:58pm UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/3 "2017-01-03T19:58:52Z")

</div>

Oi Gracyane, obrigado. Se tiramos o underline ele retorna:

productadd cannot be resolved to a variable

Esse underline está exatamente como consta no livro.

---

<div class="post-metadata">

**Author:** ![gracyane\_oliveira](https://avatars.discourse-cdn.com/v4/letter/g/f9ae1b/32.png) [@gracyane\_oliveira](https://forum.casadocodigo.com.br/u/gracyane_oliveira)\
**Post date:** [Janeiro 3, 2017, 10:08pm UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/4 "2017-01-03T22:08:04Z")

</div>

Eu li melhor essa parte do livro que você cita e na verdade o autor não colocou o método na integra no livro.

Veja que após o código o autor escreve:

> Lembre também de criar o método add na  
> classe Book , para que possamos adicionar cada um dos autores.  
> Para que nossa tela funcione de maneira adequada, precisamos  
> fornecer a lista de autores que deve ser exibida.

Esse método add é referente a variável “product add” que ele coloca de forma fictícia.

No github tem o código completo, ficou assim:

```
private void populateBookAuthor() {
	selectedAuthorsIds.stream().map( (strId) -> {
		return new Author(Integer.parseInt(strId));
	}).forEach(product :: add);
}

```

Na classe Book.java adicione:

```
public void add(Author author){
	authors.add(author);
}

```

Link do GitHub:

> <https://github.com/asouza/casadocodigojavaee/commit/e473e3ea0e5960357e6ad1c401e00def8bebbfd9>

---

<div class="post-metadata">

**Author:** ![Kovalev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/kovalev/32/14233_2.png) [@Kovalev](https://forum.casadocodigo.com.br/u/Kovalev)\
**Post date:** [Janeiro 3, 2017, 10:43pm UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/5 "2017-01-03T22:43:47Z")

</div>

Gracyane, muito obrigado.

Resolveu. O problema é no underline, quando eu substituí pelos dois pontos, sumiu o erro.

Restou apenas na classe Book.java

> public void add(Author author){  
> authors.add(author);  
> }

está retornando authors cannot be resolved

Você saberia qual é o erro que estou cometendo ou onde procurar?

---

<div class="post-metadata">

**Author:** ![gracyane\_oliveira](https://avatars.discourse-cdn.com/v4/letter/g/f9ae1b/32.png) [@gracyane\_oliveira](https://forum.casadocodigo.com.br/u/gracyane_oliveira)\
**Post date:** [Janeiro 4, 2017, 12:15am UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/6 "2017-01-04T00:15:32Z")

</div>

Na classe Book deve ter a declaração do atributo authors:

`private List<Author> authors = new ArrayList<Author>();`

Não deixe também de incluir:

```
public List<Author> getAuthors() {
	return authors;
}

```

Qualquer dúvida olha no link que te passei do github que tem a declaração desse atributo na classe Book.java.

---

<div class="post-metadata">

**Author:** ![Kovalev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/kovalev/32/14233_2.png) [@Kovalev](https://forum.casadocodigo.com.br/u/Kovalev)\
**Post date:** [Janeiro 4, 2017, 8:59am UTC](https://forum.casadocodigo.com.br/t/java-ee-pagina-61/404/7 "2017-01-04T08:59:03Z")

</div>

Muito obrigado Gracyane, vou comparar os arquivos e ver onde está errado.

abraços!!!
