我想使用支持varargs的Jedis客户端方法:
hMGet(byte[] key, byte[]... fields)
现在。我构建了key
String
,fields
,其类型为List<byte[]>
,并以这种方式将其传递给hMGet方法:
hMGet(key.getBytes(), fields.toArray(new byte[][fields.size()]))
但是语法错误发生了。如何实现我的目的?
答案 0 :(得分:0)
这应该有效:
list.toArray(new byte[0][0]);
或
list.toArray(new byte[list.size()][]);
无论何时创建数组,都应指明它的大小,或提供数据:
String[] a = new String[0]; <- size 0
String[] b = new String[]{}; <- empty, size 0
String[] c = new String[]{"a", "b"}; <- size 2
在您的情况下,您指的是错误位置的大小(不是在包含其他数组的初始数组中)
new byte [] [fields.size()]
正确的是:
new byte [fields.size()] []