【问题标题】:.toArray from ArrayList to Array convertion, data type confusion.toArray 从 ArrayList 到 Array 的转换,数据类型混淆
【发布时间】:2014-03-19 20:12:42
【问题描述】:

我对这个问题的类型转换感到困惑。

我有一个 ArrayList 的字符,我想将其转换为一个字符串——一个字符数组。所以它是这样的:

ArrayList<Character> message = new ArrayList<Character>();
String stringMessage = new String;
stringMessage = message.toArray(stringMessage);

现在给出的错误是:

“语法错误,可能缺少分号?”

这不是很有帮助。

我的投射方式有问题吗?不能将ArrayList的字符转换成String吗?

【问题讨论】:

  • new String message.toArray() 只接受一个数组作为参数,stringMessage 不接受。
  • 即使toArray 接受String 作为参数(它没有),它仍然返回一个数组
  • 第一个错误可以通过简单的写String stringMessage;来解决。但你真正想做什么?第三行没有意义。
  • 澄清一下:我正在使用 ArrayList,因为它在程序期间处理数据时有一些优势,但对于只能处理 String 对象的函数,我需要进行此转换。谢谢大家的快速回复,fge的代码解决了我的问题。

标签: java arraylist casting processing toarray


【解决方案1】:

你可以这样做:

final CharBuffer buf = CharBuffer.allocate(message.size());
for (final Character c: message)
    buf.put(c.charValue());
stringMessage = new String(buf.array());

您不能直接使用.toArray(),因为它会返回Character[],而不是char[],并且没有String 构造函数接受Character[] 作为参数...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2011-12-17
    • 2011-02-01
    • 1970-01-01
    • 2011-05-19
    • 2017-02-11
    • 1970-01-01
    相关资源
    最近更新 更多