Use String.strip() instead of using String.trim
Java
String.trim() only removes whitespace (space, tab, etc.) defined by the ASCII character set. String.strip() removes all kinds of whitespace including Unicode
Examples
Example 1:
Positive
Correct implementation following the practice.
package org.example;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public final class Util {
public static Map<String, Integer> nameCount(List<String> names) {
return names.stream()
.collect(Collectors.toMap(name -> name, name -> 1, Integer::sum));
}
public static void printNames(List<String> names) {
names.forEach(System.out::println);
}
public static Integer sum(List<Integer> numbers) {
return numbers.stream()
.reduce(0, Integer::sum);
}
public static int increment(int value) {
return value + 1;
}
public static void readFile(String fileName) throws FileNotFoundException {
try (InputStream input = new FileInputStream(fileName)) {
// Read file
} catch (IOException e) {
e.printStackTrace();
}
}
public static String removeWhiteSpace(String str) {
return str.strip();
}
}
Negative
Incorrect implementation that violates the practice.
package org.example;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public final class Util {
public static Map<String, Integer> nameCount(List<String> names) {
return names.stream()
.collect(Collectors.toMap(name -> name, name -> 1, Integer::sum));
}
public static void printNames(List<String> names) {
names.forEach(System.out::println);
}
public static Integer sum(List<Integer> numbers) {
return numbers.stream()
.reduce(0, Integer::sum);
}
public static int increment(int value) {
return value + 1;
}
public static void readFile(String fileName) throws FileNotFoundException {
try (InputStream input = new FileInputStream(fileName)) {
// Read file
} catch (IOException e) {
e.printStackTrace();
}
}
public static String removeWhiteSpace(String str) {
return str.trim();
}
}