我在将字符数组转换为 Java 中的字符串时遇到问题。我只想复制不为空的字符。以这段代码为例:
import java.util.*;
import java.lang.*;
import java.io.*;
class CharArrayToStringTest
{
public static void main (String[] args) throws java.lang.Exception
{
// works just fine - string has 5 characters and its length is 5
char[] word = {'h', 'e', 'l', 'l', 'o'};
String sWord = new String(word);
System.out.println("Length of '" + sWord + "' is " + sWord.length());
// string appears empty in console, yet its length is 5?
char[] anotherWord = new char[5];
String sAnotherWord = new String(anotherWord);
System.out.println("Length of '" + sAnotherWord + "' is " + sAnotherWord.length());
// isEmpty() even says the blank string is not empty
System.out.println("'" + sAnotherWord + "'" + " is empty: " + sAnotherWord.isEmpty());
}
}
控制台输出:
Length of 'hello' is 5
Length of '' is 5
'' is empty: false
如何从一个字符数组创建一个字符串,其中字符串末尾的任何空白字符都被忽略了?
最佳答案
尝试使用 String.trim() 修剪
String
中的尾随空格.只是做:-
char[] anotherWord = new char[5];
String sAnotherWord = new String(anotherWord);
sAnotherWord = sAnotherWord.trim();
现在,空格 将被删除。
编辑 1:如 spencer.sm 所述在他的回答中,您的 second print 语句是错误的,因为它打印的是 sWord.length()
而不是 sAnotherWord.length()
。
关于java - 将字符数组转换为不带空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870941/