我想通过attributeNames
这是collection of string
一种方法setColumnNames
,它接受string array
.
public MapgetAttributes(String rowKey, Collection attributeNames, String columnFamily) { try { SliceQuery query = HFactory.createSliceQuery(keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get()). setKey(rowKey).setColumnFamily(columnFamily).setColumnNames(attributeNames); } catch (HectorException e) { LOG.error("Exception in CassandraHectorClient::getAttributes " +e+ ", RowKey = " +rowKey+ ", Attribute Names = " +attributeNames); } return null; }
定义 setColumnNames
SliceQuerysetColumnNames(N... columnNames);
我每次都得到这个例外 -
The method setColumnNames(String...) in the type SliceQueryis not applicable for the arguments (Collection )
如何在Java中将字符串集合转换为字符串数组?任何的想法?
来自Javadocs中的Collection:
T[] toArray(T[] a) 返回包含此collection中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型.如果集合适合指定的数组,则返回其中.否则,将使用指定数组的运行时类型和此集合的大小分配新数组.
请注意,此方法接受与集合相同类型的数组; 但是,Java不允许您实例化通用数组,因此您需要解决它.有关详细信息,请参阅此问题.