# [shorts] Interpolação de string moderno no JAVA

> O Java é uma linguagem muito robusta e cheia de recursos, porém a interpolação de string é um saco! No Java 21, a Oracle introduziu um recurso...

- URL: https://iagofrota.com.br/blog/shorts-interpolacao-de-string-moderno-no-java/
- Data: 2024-03-23
- Tags: codigo-java, concatenacao-de-strings-java, desenvolvimento-java, dicas-de-java, exemplos-java, interpolacao-de-string-java, java-eficiente, java-moderno, java-para-desenvolvedores, java-string-templates, melhorias-java, novidades-java-21, oracle-java, otimizacao-de-codigo-java, praticas-de-codificacao-java, programacao-java, recursos-java, string-interpolation-java, string-format-java, templates-processor-str

O Java é uma linguagem muito robusta e cheia de recursos, porém a interpolação de string é um saco! No Java 21, a Oracle introduziu um recurso chamado **String Templates** que você pode estar consultando [aqui](https://docs.oracle.com/en/java/javase/21/language/string-templates.html#GUID-34E7D797-AFCB-40BE-B6E7-C7394672023A)**.** Como a minha intenção é ser bem suncinto, não irei detalhar o _Template Processor (STR)_.

## Exemplos no modo antigo

### Concatenação de Strings

A forma mais simples e conhecida, utilizando o operador `+` para concatenar strings com variáveis:

```
String nome = "Mundo"; 
String saudacao = "Olá, " + nome + "!"; 
System.out.println(saudacao);
```

### Usando `String.format()`

Um método mais sofisticado que permite formatação mais complexa (eu não uso muito)

```
String nome = "Mundo"; 
String saudacao = String.format("Olá, %s!", nome); 
System.out.println(saudacao);
```

## Exemplo utilizando _String Templates_

Utilizando string templates fica bem mais direto. Basicamente você precisa:

1. Adicionar a classe referente ao _Template Processor_ (STR) no começo da string

3. A variável que será interpolado deverá ficar entre chaves `{ }` e precedida da barra invertida `\`

Veja o exemplo abaixo que eu peguei do site da Oracle

```
String name = "Duke";
String info = STR."My name is \{name}";
System.out.println(info);
```

Muito melhor, não?!

## Conclusão

Acredito que consegui mostrar como utilizar o recurso de _String Templates_ do Java. Particulamente eu acho bem mais simples e direto utilizar do jeito novo.

Espero que tenha sido útil para você!

* * *

**Referências**

[](https://docs.oracle.com/en/java/javase/21/language/string-templates.html#GUID-CAEF15BD-C3D1-43D4-B38F-1615B0B1699D)


[Java String Templates — A Better Interpolation](https://medium.com/@viraj_63415/java-21-string-templates-79fd908f30ff)
