JAVA API-----String類和StringBuffer類

来源:http://www.cnblogs.com/scf141592/archive/2016/08/08/5748223.html
-Advertisement-
Play Games

String類和StringBuffer類主要用來處理字元串,這兩個類提供了很多字元串的使用處理方法。String類是不可變類,表示對象所包含的字元串類不能改變。StringBuffer類是可變類,其對象所包含的字元串內容可以被添加或修改。 關於這兩個類處理字元串的常用方法請參考:http://ww ...


  String類和StringBuffer類主要用來處理字元串,這兩個類提供了很多字元串的使用處理方法。String類是不可變類,表示對象所包含的字元串類不能改變。StringBuffer類是可變類,其對象所包含的字元串內容可以被添加或修改。

  關於這兩個類處理字元串的常用方法請參考:http://www.runoob.com/java/java-string.html    

                      http://www.runoob.com/java/java-stringbuffer.html

  下麵主要介紹:equals和==在字元串和非字元串使用方面的區別

class Test{
    int x=1;
}

public class EqualTest{
    public static void main(String args[]){
        String a1,a2,a3="abc",a4="abc";
        a1=new String("abc");
        a2=new String("abc");
        System.out.println("a1.equals(a2): "+(a1.equals(a2)));
        System.out.println("a1==a2: "+(a1==a2));
        System.out.println("a1.equals(a3): "+(a1.equals(a3)));
        System.out.println("a1==a3: "+(a1==a3));
        System.out.println("a3.equals(a4): "+(a3.equals(a4)));
        System.out.println("a3==a4: "+(a3==a4));
        System.out.println("----------------------------");
        Test one=new Test();
        Test two=new Test();
        System.out.println("one.equals(two): "+(one.equals(two)));
        System.out.println("one==two: "+(one==two));
        one=two;
        System.out.println("賦值後:");
        System.out.println("one.equals(two): "+(one.equals(two)));
        System.out.println("one==two: "+(one==two));
    }
}

1. ==可以用來比較基本類型和引用類型,判斷內容和記憶體地址

2. equals只能用來比較引用類型,它只判斷內容。

java中的數據類型,可分為兩類: 
1.基本數據類型,也稱原始數據類型。byte,short,char,int,long,float,double,boolean 
  他們之間的比較,應用雙等號(==),比較的是他們的值。 
2.複合數據類型(類) 
  當他們用(==)進行比較的時候,比較的是他們在記憶體中的存放地址,
  所以,除非是同一個new出來的對象,他們的比較後的結果為true,否則比較後結果為false。

 

字元串緩衝池:程式在運行的時候會創建一個字元串緩衝池。
當使用 String a3 = "abc"; 這樣的表達是創建字元串的時候,程式首先會在這個String緩衝池中尋找相同值的對象

在String a3 = "abc";中,a3先被放到了池中。所以在a4被創建的時候,程式找到了具有相同值的 a4,並將a4引用a3所引用的對象"abc"。

使用了 new 操作符,他明白的告訴程式:"我要一個新的!不要舊的!"於是一個新的"abc"Sting對象被創建在記憶體中。他們的值相同,但是位置不同。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、介簡 SqlSugar ORM框架一直在升級當中,昨天將EMIT架構進行了重構,讓類型轉換更加智能,EMIT轉換後的性能和原生ADO同水準(以前只是接近),為了提高性能、穩定、有問必答、有需求必改、堅持更新。例如資料庫類型為BIT我們在程式裡面可以使用 INT接收也可以用BOOL接收,不影響一絲 ...
  • 網站優化必做的事情之一,百度ping,主動推送給百度 文章添加時調用百度推送方法 common類庫增加百度ping方法 ...
  • 先上一段最近項目中的代碼,此代碼可以放到自己項目中的dbContext中 EF6中可以覆寫SaveChangesAsync(非同步)或者SaveChanges來實現記錄變化的跟蹤,這其中包括新增、修改、和刪除,dbContext中的屬性ChangeTracker可以跟蹤屬性的變化,即查找實體修改記錄: ...
  • 按照網上的教程寫了一個cURL的小例子,在apache環境下執行,一點反應也沒有,放在IIS環境里就ok的,感覺問題一定出在動態連接庫上,因為配置文件里的php_curl.dll已經打開了,而且在iis上ok; 網上找了一些解決方案: 設置了【環境變數】:phpext,PHPRC;無效 把php_c ...
  • 博客園上傳代碼時拷貝vs裡面的代碼不能直接粘貼,否則空格會不符合要求 去掉空格代碼 ...
  • 實例運行結果如下 實例運行結果如下 實例運行結果如下 ...
  • 詳細的見 https://github.com/linux-wang/DRF_tutorial/blob/master/README.md DRF中有一個serializer的概念,實現的功能是將各種Django Queryset和model instance轉換成Python原生格式,這裡就省去了 ...
  • 實力運行效果如下 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...