请教,怎么才能把一个 list 塞进可变长参数里去

2021-04-02 11:23:47 +08:00
 abcbuzhiming
遇到一个极其头疼的问题
Spring redis 里有一个对 bit 做异或的方法叫

Long bitOp(RedisStringCommands.BitOperation var1, byte[] var2, byte[]... var3);

就像你们看到的,这东西后面传入 key 都是 byte[],而不是简单的 String 。因此,List<String> 转 String[]的方法行不通

然而 Java 的泛型有局限性,没有泛型数组这玩意,因此诸如你想搞出一个元素都是 byte[]的数组是搞不出来的,我该怎么才能把几千个 key 丢过去异或呢?
1746 次点击
所在节点    Java
2 条回复
agzou
2021-04-02 11:43:47 +08:00
public class DemoApp {
public static void main(String[] args) {
List<String> data= new ArrayList<>();
byte[][] bytes = data.stream().map(String::getBytes).toArray(byte[][]::new);
test("",null,bytes);
}
private static void test(String var1 ,byte[] var2, byte[]... var3) {

}
}
cheng6563
2021-04-02 16:57:16 +08:00
byte[]... 等同于 byte[][]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/767489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX