java 用 if else 更新字符串值

标签 java android

我是java新手,我遇到了一个对我来说没有意义的问题。 我有一个启动 Activity 的 ListView ,并且该 Activity 必须读取 一些 Intent 值以便显示正确的信息。

    // 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";
    }

如您所见,我获取了 Intent 值“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") 按值进行比较。

关于java 用 if else 更新字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355523/

相关文章:

java - 使用 BigInteger 检查回文

java - 从字节形式的 zip 中读取 zip 条目的内容

javascript - Web View 中的 Android Javascript 接口(interface)空对象

安卓3D效果图库

android - Pixel 2 模拟器/虚拟设备不在 AVD 管理器设备列表中

java - Android onPostExecute 未被识别

java - 读取多个nextint

java - 如何使用java将unicode值写入文件?

java - 乐观缓存并发设计模式

java - 无法将数据从 FireBase 加载到 Recycler View 中