La fin de la chaîne de caractères en Java

J'étais à résoudre une question facile :

Supprimer certains caractères d'un tableau de caractères en Java , l'idée est simple :

static void remove_char(char[] arr, char c){
    int r = 0;
    for (int i = 0 ; i < arr.length ; i++){
        if (arr[i] == c){
            r++;
            continue;
        }
        arr[i - r] = arr[i];
    }
    arr[arr.length - r] = '
static void remove_char(char[] arr, char c){
int r = 0;
for (int i = 0 ; i < arr.length ; i++){
if (arr[i] == c){
r++;
continue;
}
arr[i - r] = arr[i];
}
arr[arr.length - r] = '\0'; //??
return;
}
'
; //?? return; }

Je veux mettre un ending character qui signale que le reste de la matrice ne doit pas être considéré comme lorsque l'on veut, par exemple, générer une chaîne à l'aide de new String(arr)

Est-il un tel personnage en Java ? ( Je suppose que dans C c'est \0 mais je ne suis pas sûr)

Par exemple lorsque nous appelons :

System.out.println(new String(remove_char(new char[] {'s','a','l','a','m'} , 'a')))

ce sera imprimée : slm m

Alors que je veux obtenir slm et je veux faire ce in-place pas à l'aide d'un nouveau tableau

  • À l'aide de la classe StringBuilder hors de question? docs.oracle.com/javase/tutorial/java/data/buffers.html. Il n'a probablement pas vous aider à trouver une solution à ce bien. Il offre une solution.
  • Comme je l'ai dit, je veux seulement manipuler le tableau , qui n'utilisent pas toute structure de données supplémentaires (c'est à dire in-place)
  • Constructeur String est une classe qui utilise un tableau de caractères pour la manipulation de chaînes.