1. 程式人生 > >關於字串的比較問題,"=="與"equals"的不同

關於字串的比較問題,"=="與"equals"的不同

今天遇到一個問題,關於字串的比較:

String str01 = "11";

String str02 = "11";

String str03 = "250";

String str04 = new String("250");

Log.i("11", String.valueOf(str01=="11")); ====> true

Log.i("250", String.valueOf(str03=="250")); ====> true

Log.i("11", String.valueOf(str01==str02)); ====> true

Log.i("250", String.valueOf(str04==str03)); ====> false

Log.i("250", String.valueOf(str03.equals(str04))); ====> true

看到結果,是為什麼呢?,首先我們來說說"=="與"equals"在字串比較中的作用吧:

    我們都知道這兩者都有比較字串的功能,不再之處在於equals只比較兩個字串的內容是否相同,只要比較的字元內容相同就返回true,否則返回false.

然而"=="就不一樣,它不僅比較字串的內容,而且要比較這個內容是否是引用同一個物件,比如以上第四個列印為false,因為兩個變數str03,str04雖然值一樣,但所指物件不同,所以返回false,第五個就不同只比較值是否相同,所以返回true.

  說的比較簡單希望能給大家帶來幫助.

相關推薦

Java 字串比較==equals()區別

==:它是比較兩個字串的地址是否相同 equals():它是比較兩個字串的內容是否相同,這只是針對於String類而言 示例程式碼如下: String com1 = new String("asd"); String com2 = new String("as

java相等比較:==equals

字符串 相同 bcd 速度 指向 nbsp 常量 覆寫 方法 比較分兩種:變量之間的比較,變量與值的比較, 引用類型值分兩種:如: "abcd" , new String("abcd"); “abcd”相當於a=”abcd”中的a, new String("abcd")相當

Java中字串比較方法equals()和equalsIgnoreCase()的區別

1. equals() equals( )是比較兩個字串是否相等,它的一般表示式如下: /** * Compares this string to the specified object. The result is {@code * true} if and o

jsp中 java字串比較equals,不能用==

<%if (local.toString().equals("zh_CN")) { %> <script src="/static/jquery-validation/1.10.0/messages_bs_zh.js" type="text/javas

專案中字串nullnull不同導致的錯誤

但是,真正的錯誤原因是在傳輸後的資料判斷過程中,誤將字串”null”與null混為一談,比較錯誤。 在if判斷時應該判斷`if(customerIdStr.equals(“null”)|| c

關於字串比較問題,"==""equals"的不同

今天遇到一個問題,關於字串的比較: String str01 = "11"; String str02 = "11"; String str03 = "250"; String str04 = new String("250"); Log.i("11", String.va

Bean的不同配置方式比較應用場景

jdb ext 小寫字母 str 類定義 ati ice control aso 基於XML配置 Bean的定義: 在XML文件中通過<bean>元素定義。 Bean的名稱: 通過<bean>的id或name屬

同一問題的不同實現方法比較總結

數列 abcd second 需要 方法 二進制位 進制 個數 99乘法表 1、編程找出四位整數abcd中滿足下述關系的數:(ab+cd)(ab+cd)=abcd 方案一: 1 for(int ab = 10;ab < 99;ab ++){2 for(int

String類的equals是如何進行字串比較

public static void main(String[] args) { String a = new String("abc"); String b = new String("abc"); System.out.prin

java 字串比較合併操作

1.字元的排序 2 種方法 public class Sort   {       public static void main(Stri

jquery使用$(xx).text()字串比較,明明看著相等,結果卻為false

比如一個a標籤。 <a>刪除</a> 使用jquery獲取之,$('a').text()。var res = ($('a').text() == '刪除');alert(res);。結果為false。 可能是有的瀏覽器會在text中給文字加空格。使用trim(

paip jdk1 4 1 5 5 0 1 6 6 0 7 0 8 0特點比較不同

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java String 字串 比較 == equals

 1.==該運算子表示指向字串的引用是否相同,如t1==t2這種情況,  是因為在java中字串的值是不可改變的,相同的字串在記憶體中只會存一份, 所以t1和t2指向的是同一個物件,而t1==t4返回false,是因為t4 new String之後產生了一個新的物件, &nb

Java中雙等號(比較運算子)equals的區別

1.比較運算子==用於判斷字串的地址是否相同,即使字串內容相同,但是物件不同,返回值仍是false 注:這裡補充一下Java中資料型別:內建資料型別、引用資料型別 (1)內建資料型別:JAVA提供了8種基本資料型別byte、short、int、long、float、double、boolea

JAVA字串判等(== equals

JAVA    == 與 equals      String a="abc";String b="abc";System.out.println(c.equals(b));//trueSystem.

EJBSpring的全面比較JavaBean的不同

一:EJB與Spring的全面比較Rod Johnson將Indeed.com(一個求職網站)職位列表中對EJB和Spring兩種技能的需求數量進行了對比,並通過分析這一統計資料得出了一些關於EJB的發展過程及其未來的結論。他圍繞著會話Bean和訊息Bean對EJB展開了討論

18.PHP數字字串比較的誤區

2016.12.03 1.問題描述 今天在做微信關鍵詞自動回覆時,需要判斷輸入的是否為整數,使用了 if(intVal($key) == $key), 即將輸入轉化為整數再與自身比較,若相等則為整數,但是發現無論輸入什麼結果都是相等 2.解決過程 列印從微信過來的輸入

==equals各種比較

package com.xxx.xx; /*相等比較===:比較記憶體地址;equals比較值(equals相等hecode也相等)  *   *   * */ public class Equal {public String strM;public int strN;p

Java學習筆記19:==equals用法比較

String s1="abc"; String s2="abc"; System.out.println(s1==s2);//true System.out.println(s1.eqauls(s2));//true //建立了幾個物件? String s1=new Strin

【JavaEE】EJBSpring的全面比較JavaBean的不同

一:EJB與spring的全面比較         Rod Johnson將Indeed.com(一個求職網站)職位列表中對EJB和Spring兩種技能的需求數量進行了對比,並通過分析這一統計資料得出了一些關於EJB的發展過程及其未來的結論。他圍繞著會話Bean和訊息Be