有关于String字符串的坑(==号和equals的区别)
来源:互联网 发布:淘宝店铺去哪注册 编辑:程序博客网 时间:2024/06/01 10:21
今天写代码,,被String还好坑了一把,,,还是怪自己基础知识不坚固啊,
首先我创建了一个按钮,,,为这个按钮做了一个点击事件,,然后获取这个按钮上的字,,做判断,,判断为true就改变按钮上的字,,我直接用==做判断,,怎么做都不对,,最后通过朋友讲解,才换成了equals,,具体代码如下
package com.yiyajing.yyj.youku;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.tv.TvContract;
import android.os.Build;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button mBtn;
private ImageView ivIcon;
private String mText;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.activity_main); mBtn = (Button) findViewById(R.id.btn); ivIcon = (ImageView) findViewById(R.id.iv_icon); mBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mText = mBtn.getText().toString(); ivIcon.setImageResource(R.drawable.icon_home); Toast.makeText(MainActivity.this, mText, Toast.LENGTH_SHORT).show(); if (mText.equals("OPEN")) { mBtn.setText("返回一下"); }else { mBtn.setText("点我有惊喜哦"); } } });}
}
1.==号判断的是值(对象在内存中的地址值),equals判断的是两个变量是否是同一个对象的引用
2.==判断的是基本数据类型(byte,short,int long;float,double;char;boolean)
String字符串不是基本数据类型,是引用类型,,,所以使用上面的情况应该使用equals来判断
还有另外一种情况
String字符串不是new出来的,,是直接赋值的,,那么这个变量就可以直接使用==号判断,,,因为不是new出来的String就不会为这两个对象分配新的内存堆
- 有关于String字符串的坑(==号和equals的区别)
- Java字符串String:equals方法和==的区别
- 有关于string= 与strcpy()的区别
- 区别==和equals和String创建的区别
- String字符串的==、equals方法以及对象的==、equals方法的区别
- String的 ==和equals的区别
- String == 和 equals 的区别的个人理解
- String的==和equals()方法的区别
- @在String中==和equals的区别
- .NET里string.Equals和==的区别
- String中"equals"和"=="的区别
- IF,String编程趣事==和equals的区别
- java:String使用equals和==比较的区别
- String比较 ==和equals的区别
- java:String使用equals和==比较的区别
- String中“==”和equals的区别
- java:string对象equals 和 == 的区别
- java:String使用equals和==比较的区别
- C语言排序之冒泡排序篇
- 将Maven项目的Dynamic Web Module 改为3.1版本
- 图文详解Android事件分发机制
- 探究Java的ConcurrentHashMap实现机制
- HDU 1693 新的恐惧,插头Dp
- 有关于String字符串的坑(==号和equals的区别)
- 最大公约数和最小公倍数
- 把玩PathInterpolator
- 项目第四天
- Codeforces Round #425 (Div. 2) E-Vasya and Shifts (高斯消元)
- 读取网上信息解析
- 编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 主Maction的布局 用的是<RelativeLayout>相对布局
- python 练习