可变参数传入数组

简介: 可变参数传入数组

今天遇到这样一个场景:

   @Override
public void deleteAllById(@Nonnull Iterable<? extends String> strings) {
    stringRedisTemplate.opsForHash().delete(SmCacheConst.STATE_MACHINE, );
}

这里的org.springframework.data.redis.core.HashOperations#delete如下:

Long delete(H key, Object... hashKeys);

那这里我如果直接将Iterable转为数组,能正常运转吗?

也就是说,如果我是:

Object[] array = StreamSupport.stream(strings.spliterator(), false).toArray();
    stringRedisTemplate.opsForHash().delete(SmCacheConst.STATE_MACHINE, array);

那在delete的实现里hashKeys会变成new Object[]{new Object[]{}类型吗

答案是否定的,此处我们传入数组,可变参数运算符会为我们处理,得到的会是一维数组

因此大可以直接转为数组使用

相关文章
|
14天前
|
存储
如何将数组元素中的函数作为参数传递给其他函数?
通过以上方法,可以灵活地将数组元素中的函数作为参数传递给其他函数,以满足各种不同的编程需求,实现更加强大的功能和更简洁的代码结构。
85 51
|
12天前
|
JavaScript 前端开发
如何在函数中使用解构赋值来处理具有默认值的函数的返回值?
在函数中使用解构赋值来处理具有默认值的函数的返回值,可以使代码更加简洁、清晰,并且能够更好地应对各种可能的返回情况,增强代码的健壮性和可维护性。
31 5
|
3月前
【函数】数组做函数参数
【函数】数组做函数参数
|
6月前
|
存储 弹性计算 运维
有返回值的函数
【4月更文挑战第29天】
37 1
|
存储 索引
函数与数组
函数(function),数学术语。其定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、映射的观点出发。
函数+数组
c语言学习第四弹
|
JavaScript 前端开发
带有返回值的函数
带有返回值的函数
160 0
|
编译器 C++
给C++函数形参传入一个C类型的函数指针
给C++函数形参传入一个C类型的函数指针
|
编译器
传递数组给函数
传递数组给函数
99 0
下一篇
无影云桌面