導航:首頁 > 編程語言 > java字元串相加效率

java字元串相加效率

發布時間:2024-12-11 21:55:50

1. java中的字元串相加

首先你要搞清楚的是字元串用==比較,是比較兩個字元串是不是指向同一個對象。
程序在運行的時候會創建一個字元串緩沖池,程序會把字元串常量(如程序中的"a","b","ab","a"+"b")放入字元串緩沖池中(這里"ab","a"+"b"是一個對象)。當使用
String s3 = "ab";
String s4 = s1 + s2;
String s5 = "a" + "b";
這樣的表達是創建字元串的時候,程序首先會在這個String緩沖池中尋找相同值的對象,s3先被放到了池中,所以在s5被創建的時候,程序找到了具有相同值的 s3,將s5引用s3所引用的對象"ab"。所以比較s5==s3由於兩個是指向同一個對象,所以為true。
但是在這些賦值中,涉及到變數運算,所以得到的字元串對象存儲在各自的內存中,不是緩沖池中的s3對象,如
String s4 = s1 + s2;
String s6 = s1 + "b";
所以 盡管s4,s6的值均為"ab",但是 s4==s3,s6==s3返回的結果均為false;
同時s4,s6也不是指向相同的對象,因為他們在不同內存中。
StringBuffer s7 = new StringBuffer("abc");
String s8 = s7.substring(3); //這個方法是從第3個字元取字元串,得到的s8為"'; 為空字元串。
所以s8==s3的結果也為false;

如果相比較兩個字元串的值是不是相等,最好用.equals()方法。

2. java中基本數據類型與String類型有什麼區別

java 中String 是個對象,是引用類型
基礎類型與引用類型的區別是,基礎類型只專表示簡單的字元或數字,屬引用類型可以是任何復雜的數據結構
基本類型僅表示簡單的數據類型,引用類型可以表示復雜的數據類型,還可以操作這種數據類型的行為
java虛擬機處理基礎類型與引用類型的方式是不一樣的,對於基本類型,java虛擬機會為其分配數據類型實際佔用的內存空間,而對於引用類型變數,他僅僅是一個指向堆區中某個實例的指針。

3. java 提出字元串中的數字並相加

比較每個字元的ASIIC碼,在數字范圍內就留下,不是跳過,最後相加就完了,很簡單

閱讀全文

與java字元串相加效率相關的資料

熱點內容
哪個軟體可以編程手機軟體 瀏覽:554
如東如何學數控編程培訓 瀏覽:5
微信h5頁面怎麼修改 瀏覽:931
手機怎麼無法打開視頻文件夾 瀏覽:840
抖音如何上直播網站 瀏覽:887
錄屏截圖大師保存的文件在哪裡 瀏覽:751
紅河谷第二個版本 瀏覽:895
c語言如何讓整型數據的商為小數 瀏覽:863
怎樣下東西不要密碼 瀏覽:320
小米手機拍照後文件名要怎麼設置 瀏覽:429
每年程序員就業形勢 瀏覽:425
安卓手機如何卸載程序 瀏覽:955
相機能用qq不能用 瀏覽:319
win10如何設置成xp配置文件 瀏覽:748
蘋果隔空傳遞以後文件在哪裡 瀏覽:927
打開ps顯示文件名無效 瀏覽:379
做推廣哪個網站靠譜 瀏覽:588
qq飛車如何綁定好友 瀏覽:873
php編程語言在哪裡 瀏覽:302
矢量文件有哪些格式 瀏覽:790

友情鏈接