Java suporta valores padrão para parâmetros?
Olá a todos! Acabei de começar a estudar Java, antes escrevia um pouco em Python e JavaScript. Lá estou acostumado que posso definir valores padrão para parâmetros de função, por exemplo:
```python
def greet(name="Convidado"):
print("Olá, " + name)
```
E chamar a função com ou sem argumento. Em Java tentei fazer algo parecido, mas o compilador reclama da sintaxe. Aqui está meu código:
```java
public class Hello {
public static void greet(String name = "Convidado") {
System.out.println("Olá, " + name);
}
public static void main(String[] args) {
greet(); // quero chamar sem argumento
greet("Ana");
}
}
```
O IntelliJ IDEA sublinha = "Convidado" em vermelho e diz "unexpected type". Pesquisei no Google, mas encontrei várias opiniões diferentes — alguns dizem que não é suportado, outros sugerem usar Builder ou Optional. Por favor, me digam como resolver esse problema corretamente em Java? Existe algum padrão padrão para imitar?