@@ -7,6 +7,7 @@ import com.haoge.easyandroid.easy.EasyReflect
77import com.haoge.easyandroid.easyFormat
88import com.haoge.sample.easyandroid.BaseActivity
99import com.haoge.sample.easyandroid.R
10+ import java.util.*
1011
1112/* *
1213 * @author haoge on 2018/5/22
@@ -102,6 +103,15 @@ class EasyReflectActivity:BaseActivity() {
102103 reflect.call(" print" , " 自定义参数" )
103104 }
104105
106+ @OnClick(R .id.callMethodWithVararg)
107+ fun callMethodWithVararg () {
108+ val reflect = EasyReflect .create(Test ::class .java)
109+ // 调用只含有可变参数的方法
110+ reflect.call(" withVararg" , 1 , arrayOf(" This" , " is" , " WithVararg" ))
111+ reflect.call(" onlyVararg" , arrayOf(" Hello" , " World" , " onlyVararg" ))
112+ reflect.instance(arrayOf(" Hello" , " World" , " Constructor" ))
113+ }
114+
105115 @OnClick(R .id.getStaticField)
106116 fun getStaticField () {
107117 val reflect = EasyReflect .create(Test ::class .java)
@@ -124,6 +134,7 @@ class EasyReflectActivity:BaseActivity() {
124134// 用于进行测试的类
125135class Test private constructor(private val name : String ){
126136 constructor (): this (" 默认名字" )
137+ constructor (vararg name: String ): this (Arrays .toString(name))
127138
128139 override fun toString (): String {
129140 return " Test(name='$name ')"
@@ -133,6 +144,14 @@ class Test private constructor(private val name:String){
133144 EasyLog .DEFAULT .e(" Test的invoked方法被执行。参数为$name " )
134145 }
135146
147+ fun onlyVararg (vararg name : String ) {
148+ EasyLog .DEFAULT .d(name)
149+ }
150+
151+ fun withVararg (perfix : Int , vararg name : String ) {
152+ EasyLog .DEFAULT .d(" perfix = $perfix + name = $name " )
153+ }
154+
136155 companion object {
137156 @JvmStatic
138157 private fun print (message : String ) {
0 commit comments