W Javie nie ma pustego literału znakowego , innymi słowy, „” nie ma znaczenia w przeciwieństwie do „”, które oznacza pusty literał String
Najbliższy sposób reprezentowania pustego literału znakowego to znak o zerowej długości [], na przykład:
char[] cArr = {}; // cArr is a zero length array
char[] cArr = new char[0] // this does the same
Jeśli odwołujesz się do klasy String, jej domyślny konstruktor tworzy pustą sekwencję znaków za pomocą new char[0]
Również użycie Character.MIN_VALUE nie jest poprawne, ponieważ nie jest to tak naprawdę pusty znak, a raczej najmniejsza wartość znaku typu.
Ja też nie lubię Character c = null; rozwiązanie, ponieważ jvm wyrzuci NPE, jeśli spróbuje go rozpakować. Po drugie, null jest w zasadzie odwołaniem do żadnego typu referencyjnego wrt, a tutaj mamy do czynienia z typem pierwotnym, który nie akceptuje null jako możliwej wartości.
Zakładając, że w ciągu, powiedzmy str, OP chce zastąpić wszystkie wystąpienia znaku, powiedz „x”, pustym znakiem „”, a następnie spróbuj użyć:
str.replace("x", "");