【问题标题】:creating an array of stringbuffers创建一个字符串缓冲区数组
【发布时间】:2015-09-15 03:14:31
【问题描述】:
我正在尝试通过以下方式创建一个字符串缓冲区数组:
StringBuffer[] rotor={"jndskfnjl","kjbsdbfkj","njkfdn"};
并显示错误“字符串无法转换为字符串缓冲区”。
但是我可以毫无问题地创建一个字符串数组,并且可以以与字符串类似的方式创建单独的字符串缓冲区,而无需转换它们。
请告诉我如何制作一个字符串缓冲区数组。
【问题讨论】:
标签:
java
arrays
declare
stringbuffer
【解决方案1】:
您必须自己创建StringBuffer 对象。它不是像String 这样的对象,你可以在没有构造函数的情况下创建一个新对象;您实际上必须实例化 每个 事件。
StringBuffer[] rotor = {new StringBuffer("jndskfnjl"),
new StringBuffer("kjbsdbfkj"),
new StringBuffer("njkfdn")};
【解决方案2】:
您正在创建一个StringBuffer 的数组,它将需要相同类型的对象列表。它不会将Strings 转换为StringBuffer 对象。因为这两个在java中是完全不同的类型。 StringBuffer 提供了一个使用字符串字面量创建对象的构造函数。您需要手动调用它们。
您可以将String 数组转换为StringBuffer 数组,循环遍历。
String array[] = new String[]{"jndskfnjl","kjbsdbfkj","njkfdn"};
StringBuffer buffers[] = new StringBuffer[array.length];
for (int i = 0; i<array.length; i++) {
buffers[i] = new StringBuffer(array[i]);
}