Android - 为什么getResources()返回的字符串.getStringArray不能在if子句中使用?

时间:2016-07-09 04:15:39

标签: java android

我的arrays.xml:

{
    "Toys": [{
        "links": {
            "self": {
                "href": "https://stackoverflow.com/ABCD"
            }
        },
        "id": "ABCD",
        "type": "1"
    }, {
        "links": {
            "self": {
                "href": "https://stackoverflow.com/EFGH"
            }
        },
        "name": "EFGH",
        "price": 100
    }, {
        "links": {
            "self": {
                "href": "https://stackoverflow.com/IJKL"
            }
        },
        "shop": "IJKL",
        "location": "1234"
    }]
}

我的测试代码:

<string-array name="chart_names">
        <item>abc</item>
</string-array>

我总是弄错,所以控制台总是打印&#34; no&#34;。

为什么会这样?真的很奇怪......

请帮帮我.......谢谢。

3 个答案:

答案 0 :(得分:1)

最佳做法是使用equals()来比较字符串或任何对象

试试这段代码:

void replaceNaN(float * arr, int size, float newValue){
    for(int i = 0; i < size; i++) 
        if (toIEEE754(arr[i]).isNan()) arr[i] = newValue;
}

答案 1 :(得分:1)

使用.equals()比较两个字符串

参考Docs

答案 2 :(得分:1)

比较两个字符串你可以使用.compareTo()或.equals()函数,当然使用.equals()函数更好。

* equals()方法:

if ("text1 to compare".equals("text2 to compare")) {
  Log.v("equal", "yes");
}else{
  Log.v("equal", "no");
}

*。的compareTo()

if(str1.compareTo("str2")==0){
Log.v("equal", "yes");
}

注意: “foo”.equals((String)null)返回false而“foo”.compareTo((String)null)== 0抛出NullPointerException