android ListIterator,class 转换错误?请检查我的日志

android ListIterator, class casting bug? please check my log

我什么都不做,只是输入一些测试代码, 但它不起作用。

这是我的代码,

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MySurfaceView(this));

        List<String> list = new ArrayList<>();

        for(int i = 0; i<10; i++){
            list.add(""+ ((int) Math.random()*100));
        }

        ListIterator ite = list.listIterator();
        while (ite.hasNext()){

            Log.d("MainActivity", "ite.next("+ite.nextIndex()+") #"+ite.next());
        }
    }

和日志,

10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(0) #0
10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(1) #0
10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(2) #0
10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(3) #0
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(4) #0
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(5) #0
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(6) #0
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(7) #0
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(8) #0
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(9) #0

所有数字都有'0' 发生什么事了?

您需要在 Math.random()*100 两边加上括号以覆盖优先级。

list.add(""+ ((int) (Math.random()*100)));

否则,(int) 只是将 0.0 返回的浮点数 0.0(不包括)首先乘以 random()0 17=] 再次给出 0