導航:首頁 > 編程語言 > 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字元串相加效率相關的資料

熱點內容
fgets空文件 瀏覽:857
傳奇物品文件夾 瀏覽:352
word插入excel圖表 瀏覽:690
xp系統搜索不到本地文件 瀏覽:39
什麼網站可以找到拼團去西藏 瀏覽:247
javatask 瀏覽:50
MFC的文件名 瀏覽:972
cad自動保存的文件怎麼關閉 瀏覽:667
zip文件密碼多少 瀏覽:486
編程培訓哪些好 瀏覽:324
如何把文件夾內容變成文檔 瀏覽:509
小火箭幼兒編程怎麼拿積分 瀏覽:158
火車票時刻表及票價資料庫 瀏覽:94
求平均值java 瀏覽:767
linux如何分屏顯示 瀏覽:257
手機可以直接填寫pdf文件么 瀏覽:554
linux虛擬光碟機軟體 瀏覽:836
米2s最好的版本 瀏覽:640
小米6檢測工具下載 瀏覽:540
桌面創建不了文件夾怎麼回事 瀏覽:894

友情鏈接