equals和==号的区别

equals和==号的区别

这篇文章主要是说java基础中equals和 == 区别,这个问题可能会在java初级面试中被问到。文章仅仅是我自己个人对知识点的总结。
首先要知道,equals和==都是用来做比较的,那么比较的内容在java中就可以分为两种,一种就是基本数据类型的比较,还一种就是引用数据类型的比较。

总结来说就是:== 如果比较的是基本数据类型,那么它比较的就是具体的值是否是相等的,如果是引用数据类型,那么它实际上比较的是这个引用数据类型的地址值是否相等;
相比之下equals方法就只能比较应用数据类型,原因这个方法是存在在Object这个类中:

在这里插入图片描述

在源码中不难发现,它底层还是使用==号这样的方式作比较,那么两个引用类型自然是比较的是地址值。
这里需要说一下,如果想要使用equals比较具体的值相等,那么就需要在该自定义类中对方法进行重写即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
package com.example.myapplication; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; import com.example.myapplication.pass.User; public class MYsqliteopenhelper extends SQLiteOpenHelper { private static final String DB_NAME="MYsqlite.db"; private static final String create_users="create table users(name varchar(32) primary key,password varchar(32));"; private static final String create_int="create table int(name varchar(32)primary key,content varchar);"; public MYsqliteopenhelper(@Nullable Context context) { super(context, DB_NAME, null, 1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(create_users); sqLiteDatabase.execSQL(create_int); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } public long register(User u){ SQLiteDatabase db=getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put("name",u.getName()); cv.put("password",u.getPassword()); long users=db.insert("users",null,cv); return users; } public boolean change(String name){ SQLiteDatabase db1=getReadableDatabase(); boolean result=false; Cursor users =db1.query("users",null,"name like ?",new String[]{name},null,null,null); if(users !=null){ while (users.moveToNext()){ return result; } } return false; } public boolean login(String name,String password){ SQLiteDatabase db1=getReadableDatabase(); boolean result=false; Cursor users =db1.query("users",null,"name like ?",new String[]{name},null,null,null); if(users !=null){ while (users.moveToNext()){ String password1=users.getString(1); result=password1.equals(password); return result; } } return false; } }
06-08
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值