如何比较Intent.getStringExtra()中的String?

时间:2012-05-11 02:53:17

标签: java android android-intent

我可以将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));
  }

为什么脚本没有运行?

3 个答案:

答案 0 :(得分:4)

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

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

 if(path.equals("car")) 

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

答案 1 :(得分:2)

使用

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

因为这更精确

答案 2 :(得分:0)

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