kotlin 冷知识 *号 展开数组

Kotlin笔记-冷门知识点星号(*)

可变参数展开操作符

在数组对象前加*号可以将数组展开,方便传值,比如:

  1.  
    var permissions = arrayOf(Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)
  2.  
    requestEach(*permissions)
  3.  
     
  4.  
     
  5.  
    public Observable<Permission> requestEach(final String... permissions) {
  6.  
    return Observable.just(TRIGGER).compose(ensureEach(permissions));
  7.  
    }

requestEach方法是接收一个String类型的可变长度的数组,我们在外面定义了一个permissions数组之后加上星号就可以传入了
又比如:

  1.  
    var temp = arrayOf("1" , "2" , "3")
  2.  
    getItem(*temp)
  3.  
     
  4.  
    fun getItem(vararg str:String){
  5.  
    str.forEach {
  6.  
    ToastUtils.showLong(it)
  7.  
    }
  8.  
    }

vararg是可变长度参数的意思。

原文地址:https://www.cnblogs.com/vana/p/11122694.html