3

我可以将数据getStringExtra()与字符串进行比较吗?示例代码:

  Intent intent = getIntent();
  String path = intent.getStringExtra("category");

  if(path == "car"){
       setListAdapter(new ArrayAdapter<String>(this, R.layout.subcategory, car));
  } else {
       setListAdapter(new ArrayAdapter<String>(this, R.layout.subcategory, bike));
  }

为什么脚本没有运行?

4

3 回答 3

4

在比较两个字符串以检查它们在 java 中是否相等时,您应该使用 equals()。

在您的情况下,您应该将比较线更改为

 if(path.equals("car")) 

在 java 中,equals() 比较字符串的实际内容,而 == 只会比较两个引用是否相等

于 2012-05-11T03:01:17.133 回答
2

采用

path.equals("car") "or"
path.contains("car") "or"
path.equalsIgnoreCase("car") "or"

因为这更精确

于 2012-05-11T02:58:08.473 回答
0

==对比是内存地址,等于对比是属性值。

于 2012-05-11T05:10:03.343 回答