String間比較,個人記錄

2021-07-24 14:29:22 字數 541 閱讀 3998

string 間比較, ==  比較的是位址, .equals 比較的是值。

如string s1 = "aaa";

string s2 = "aaa";

此時 s1 == s2 返回值為true,因為指向的是同乙個物件,位址值相同,所以==成立。

如string s1 = new string("aaa");

string s2 = new string("aaa");

此時 s1 == s2 返回值為false,因為是把其他物件賦值給了s1和s2,所以即使內容一樣,但是位址值不一樣,所以比較結果為false。

而使用.equals進行比較,比較的都是值,即比較字串中的內容,如上面的"aaa"。不管是怎麼樣的賦值方式,只要內容一致,比較結果就都為true。

所以在進行string比較的時候,最好使用.equals進行比較。

如下string ticket = "ticket";

「ticket」.equals(ticket);

將既定的字串放在.equals前,可避免因字串為空時的空指標異常。

比較String位址相等

比較string值相等和位址相等 package com public class a 比較結果如下 true false true false true false true false true true true true false true 得到的結論 1.new出來的string是重新分...

String比較及處理

android中通過equals實現兩個字串物件的比較 string s1 hello string s2 hi if s1.equals s2 else 明明已經update為 的字串,通過string的比較總是不能返回預期的結果,或者應該說資料庫反悔的值總不是 沒辦法,做了點變通,通過取字串的l...

Linux程序間通訊 IPC 間比較

linux程序間通訊 ipc 方法主要有以下幾種 管道 fifo 共享記憶體 訊息佇列 訊號 1.管道中還有命名管道和非命名管道 即匿名管道 之分,非命名管道 即匿名管道 只能用於父子程序通訊,命名管道可用於非父子程序,命名管道就是fifo,管道是先進先出的通訊方式 2.訊息佇列是用於兩個程序之間的...