我试图通过以下方式创建一个字符串缓冲区数组:
StringBuffer[] rotor={"jndskfnjl","kjbsdbfkj","njkfdn"};
它显示错误"字符串无法转换为stringbuffer"。 但我可以创建一个没有任何问题的字符串数组,我可以创建单独的字符串缓冲区,其方式与字符串类似,而不必转换它们。
请告诉我如何制作一系列字符串缓冲区。
答案 0 :(得分:3)
您必须自己完成并创建StringBuffer
个对象。它不是String
之类的对象,你可以在没有构造函数的情况下创建一个新对象;实际上你必须实例化每个事件。
StringBuffer[] rotor = {new StringBuffer("jndskfnjl"),
new StringBuffer("kjbsdbfkj"),
new StringBuffer("njkfdn")};
答案 1 :(得分:0)
您正在创建一个StringBuffer
数组,它会期望相同类型的对象列表。它不会将String
转换为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]);
}