-3

我在我的本地主机中有一个表,我最初将所有项目的 Rating(//Column name) 值设置为 0。我想运行一个循环。但是尽管在列中更新它会运行 else 循环。

  if(String.valueOf(StrRating).equals("0")){

                params.put("ratingPoint",String.valueOf(average));
           //if condition doesn't work.
            }
            else {
                float total2 = 0;
                total2 += StrRating;
                total2 += average;
                float finalAverage = total2 / 2;
                Toast.makeText(Survey.this,String.valueOf(StrRating),Toast.LENGTH_SHORT).show();
                params.put("ratingPoint",String.valueOf(finalAverage));
            }
4

1 回答 1

4

0 是一个数字。您正在将字符串与数字进行比较。这永远不会是真的,因为 Java 不会在这里进行任何隐式转换,只需注意一个是字符串,另一个是数字,因此永远不会相等。你的意思...

if(String.valueOf(StrRating).equals("0")){ // compare StrRating to String "0"

也许...

if(Integer.valueOf(StrRating).equals(0)){ // parse StrRating into integer, then compare to int

?

于 2015-07-27T13:40:42.653 回答