Spíš přemístit potřebnou funkcionalitu do třídy k tomu řetězci a ponechat ho jako privátní.
Co když je tím řetězcem třeba UTF-8 a označuje to kódování dat na vstupu nebo výstupu? Tam, kde to jde, používám Charset (ale to je jen konstanta jiného typu), ale spousta metod má na vstupu jako parametr pro kódování jenom String.
Taková "co když" bývají docela zábavná. Use Case neznáme, tedy ani nevíme, zda nějaké "co když" nastane.
Nechtěl jsem prodlužovat komentář spoustou příkladů, předpokládal jsem, že každého napadne nějaký z jeho praxe. Tedy několik use case:
- Potřebuji zapsat JSON do souboru, zapisuji přes Writer vytvořený pomocí java.nio.file.Files.newBufferedWriter() (tohle je zrovna ta varianta s Charsetem)
- V servletu nastavuji, že výstup bude text/html v UTF-8, volám HttpServletResponse.setCharacterEncoding()
- Potřebuji načíst text přes HTTP, použiju Apache HttpComponents a odpověď serveru převádím na String pomocí org.apache.http.util.EntityUtils.toString()
- Potřebuji elektronicky podepsat uživatelem zadaný text, na Stringu tedy zavolám getBytes(), abych mohl spočítat hash textu.
Stačí takhle?