Java字符串;能够分配给定大小的字符串大小吗?

时间:2010-08-11 17:31:42

标签: java string

尝试在Java String API中搜索没有答案。

我正在尝试创建具有指定大小的Java字符串。我注意到Java字符串不以空字符结尾(\ 0)。基本上,我希望能够创建如下字符串:

String myString = new String("Charles", 32);

myString将包含"Charles <-- 24 spaces --> \0"

没有这样的方法可以实现我上面所拥有的。我应该依靠创建自己的函数吗?

由于

5 个答案:

答案 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初始化它。然后你可以在编写/修改文本时摆弄字符位置。