java - 在 Android 中使用显式 Intent 进行文本比较

标签 java android string-comparison

输出始终不是女孩。如何比较字符串 amruta?

请告诉我该声明是否正确。

我使用了明确的 Intent 并想要比较 2 个字符串。

即使我在 editText 字段中输入“amruta”,我也会得到不是女孩

package com.satish.explicitintents;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Main extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final EditText et = (EditText) findViewById(R.id.editText1);
        Button b = (Button) findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent =new Intent(Main.this, Second.class); 
                intent.putExtra("thetext", et.getText().toString());
                startActivity(intent);
            }
        });
    }
}

-

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Second extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        TextView tv = (TextView) findViewById(R.id.textView1);
        if (getIntent().getExtras().getString("thetext")== "amruta")
        {
            tv.setText("girl");
        }
        else 
            tv.setText("not a girl");
    }
}

最佳答案

使用 equals() 方法代替 == 运算符,如下所示...

if (getIntent().getExtras().getString("thetext").equals( "amruta")) {

    tv.setText("girl");

} else {

    tv.setText("not a girl");

}

您还可以使用equalsIgnoreCase()方法。

String 的实例是对象,因此不能使用 == 运算符比较两个对象。 == 运算符用于与原始类型数据进行比较。要比较两个 String,您必须使用 equals()equalsIgnoreCase() 方法。

关于java - 在 Android 中使用显式 Intent 进行文本比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22377546/

相关文章:

java - Spring MVC 插件架构

android - 如何在操作栏下方显示对话框?

android - 在 Android 中使用 RxJava 对任务进行排队

c - 登录脚本未按预期比较字符串输入

c# - 将 3.C 与 3.B 和 3.D 进行比较

java - 你的 SQL 语法有错误 - hibernate 和 mysql

java - JNA 调用 Win32 API 方法 IShellFolder::GetUIObjectOf

javascript - 谁能解释一下这里发生了什么?两个相等的字符串比较时返回 false

java - 我可以使用 java 在后台捕获键盘和鼠标事件吗?

Android 平板电脑应用程序 - ActionBar