我是java的新手,我遇到的问题对我来说没有意义。
我有一个启动活动的列表视图,该活动必须阅读
一些意图值,以显示正确的信息。
// getting intent data
Intent in = getIntent();
// Get name
final String catName = in.getStringExtra("category").toString();
//Textview
TextView categorytw= (TextView)findViewById(R.id.category_name);
categorytw.setText(catName);
// Category URL
String catUrl = "";
if( catName =="Italy" ){
catUrl = "http://url .com/italy.php";
}
else if( catName =="Belgium"){
catUrl = "http://url .com/italy.php";
}
else if( catName =="France"){
catUrl = "http://url .com/france.php";
}
如您所见,我获得意图值“ category”并将其分配给catName变量,然后更新标题textview categorytw
到目前为止,一切都很好,categorytw根据catName的值进行了更新。
现在,我需要根据类别名称获取特定的网址,这就是为什么
我初始化catUrl,开头是空的。
根据catName的值,catUrl将具有不同的值。
当我从url(catUrl)获取一些数据时,将使用此值/ url:
try{
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(catUrl );
}
问题是
catUrl
始终为空。我仔细检查了catName值。
有人知道这里可能出什么问题吗?
最佳答案
Java中的==
按引用比较字符串(即是指向内存中相同位置的变量),而不是按值比较。使用catName.equals("Italy")
按值比较。