创建一个字符串缓冲区数组

creating an array of stringbuffers

我正在尝试通过以下方式创建字符串缓冲区数组:

StringBuffer[] rotor={"jndskfnjl","kjbsdbfkj","njkfdn"};

它显示错误 "string cannot be converted to stringbuffer"。 但是我可以毫无问题地创建一个字符串数组,并且我可以以与字符串类似的方式创建声明单个字符串缓冲区,而无需转换它们。

请告诉我如何制作字符串缓冲区数组。

您必须自己完成并创建 StringBuffer 对象。它不是像 String 这样的对象,您可以在其中创建一个没有构造函数的新对象;你实际上必须实例化 each occurrence.

StringBuffer[] rotor = {new StringBuffer("jndskfnjl"),
                        new StringBuffer("kjbsdbfkj"),
                        new StringBuffer("njkfdn")};

您正在创建一个 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]);
}