Ada*_*itz 6 kotlin rx-kotlin kotlin-extension kotlin-android-extensions
我有一个对象QuickSort,我试图创建2个实例.当我尝试创建2个单独的实例时,我可以看到它只使用一个实例,因为我在QuickSort类中有一个不准确的计数.Kotlin 在语法中没有使用new,那么我该怎么做呢?
object QuickSort {
var count = 0;
quickSortOne(...){
...
count++
...
}
quickSortTwo(...){
...
count++
...
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我尝试创建2个实例的方法.我的目标是让quickSort1和quickSort2成为2个独立的实例.
var quickSort1 = QuickSort
quickSort1.quickSortOne(...)
var quickSort2 = QuickSort
quickSort2.quickSortTwo(...)
Run Code Online (Sandbox Code Playgroud)
尝试的解决方案:将QuickSort从对象转换为类.这仍然导致使用相同的实例,如第二种方法的计数所示,包括第一次调用计数.
class QuickSort {
var count = 0;
quickSortOne(...){
...
count++
...
}
quickSortTwo(...){
...
count++
...
}
}
Run Code Online (Sandbox Code Playgroud)
...
var quickSortFirst = QuickSort()
printTest(quickSortFirst.quickSortFirst(arrayList, 0, arrayList.size - 1))
var quickSortLast = QuickSort()
printTest(quickSortLast.quickSortLast(arrayList, 0, arrayList.size - 1))
Run Code Online (Sandbox Code Playgroud)
我弄清楚了我的问题。我将相同的ArrayList传递给quickSortOne()和quickSortTwo()。由于第一个方法修改了 ArrayList,因此第二个方法也会受到影响。
| 归档时间: |
|
| 查看次数: |
17527 次 |
| 最近记录: |