尝试在Java String API中搜索没有答案。
我正在尝试创建具有指定大小的Java字符串。我注意到Java字符串不以空字符结尾(\ 0)。基本上,我希望能够创建如下字符串:
String myString = new String("Charles", 32);
myString将包含"Charles <-- 24 spaces --> \0"
没有这样的方法可以实现我上面所拥有的。我应该依靠创建自己的函数吗?
由于
答案 0 :(得分:4)
String myString = String.format("%1$-" + 32 + "s", "Charles");
答案 1 :(得分:2)
Java中的字符串是不可变的。如果你想要那些额外的空格,你只需要创建一个包含这些空格的字符串。
答案 2 :(得分:0)
是的,可能没有内置功能。您可以使用String.format()将字符串填充到所需的长度,然后将\ 0附加到它的末尾 - 这应该可以很容易地执行您想要的操作。
答案 3 :(得分:0)
如果您希望能够以可变的方式使用固定大小的字符串,您还可以编写自己的封装器来封装预定义的char [],例如
public class MyString()
private char[] values;
public MyString(int size)
{
values=new char[size];
}
... methods to set, get
public String toString() { return new String(values);}
}
答案 4 :(得分:0)
我想给你一个Java提供的格式化选项来实现它。
例如,实施您自己的java.text.Format实施。
另一种可能性是使用具有指定容量的StringBuffer / StringBuilder并使用空格和\ 0初始化它。然后你可以在编写/修改文本时摆弄字符位置。