可变参数传入数组

简介: 可变参数传入数组

今天遇到这样一个场景:

   @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[]{}类型吗

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

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

相关文章
|
2月前
|
JavaScript 前端开发
如何在函数中使用解构赋值来处理具有默认值的函数的返回值?
在函数中使用解构赋值来处理具有默认值的函数的返回值,可以使代码更加简洁、清晰,并且能够更好地应对各种可能的返回情况,增强代码的健壮性和可维护性。
114 64
|
2月前
|
存储
如何将数组元素中的函数作为参数传递给其他函数?
通过以上方法,可以灵活地将数组元素中的函数作为参数传递给其他函数,以满足各种不同的编程需求,实现更加强大的功能和更简洁的代码结构。
108 51
|
5月前
|
程序员 C语言
指针在函数参数和返回值中的使用
指针在函数参数和返回值中的使用
86 9
|
5月前
【函数】数组做函数参数
【函数】数组做函数参数
|
Python
Python函数详解:参数、返回值和文档字符串
Python函数详解:参数、返回值和文档字符串
180 0
数组作为函数参数传参&数组名到底代表什么意义?
数组作为函数参数传参&数组名到底代表什么意义?
|
编译器 C++
给C++函数形参传入一个C类型的函数指针
给C++函数形参传入一个C类型的函数指针
|
C语言 Android开发 C++
【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )
【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )
199 0
方法的返回值类型为引用数据类型时
方法的返回值类型为引用数据类型:   基本数据类型:(基本类型太简单,我不准备讲解)   引用数据类型:     1.方法的返回值类型为类名时:返回的是该类的对象。     2.方法的返回值类型为抽象类名时:返回的是该类的子类对象。
942 0