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

标签 java android

我的 arrays.xml:

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

我的测试代码:

String[] chartNames = getActivity().getResources().getStringArray(R.array.chart_names);

if ("abc" == chartNames[0]) {
  Log.v("msg", "yes");
}else{
  Log.v("msg", "no");
}

我总是得到错误,所以控制台总是打印“no”。

为什么会发生这种情况?真是奇怪啊……

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

最佳答案

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

试试这个代码:

String[] chartNames = getActivity().getResources().getStringArray(R.array.chart_names);

if (chartNames[0].equals("abc")) {
  Log.v("msg", "yes");
}else{
  Log.v("msg", "no");
}

关于java - Android - 为什么 getResources().getStringArray 返回的字符串不能在 if 子句中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38278252/

相关文章:

java - 如何使用运行时/进程类从java备份mysql数据库?

java.math.BigInteger 不能转换为 java.lang.Integer

java - 将按钮添加到选项卡中

java - 我怎样才能摆脱 java 中过多的空检查?

java - Java 中 "while"的问题

android - 如何在 libGDX 项目中实现原生 Google Play 应用内结算?

android - 从生产中删除应用程序并继续测试

支持大屏幕的android设备屏幕尺寸

android - DIO 响应解码问题

java - 使用处理程序访问共享数据