Java中的字符串

字符串

String

Java編譯器對String類型有特殊處理,可用使用"…"來表示一個字符串。實際上字符串在String內部是通過一個數組表示的。

Java中字符串的一個重要特點是不可變。這種不可變性是通過內部的private final char[]字段,以及沒有任何修改char[]的方法實現的。

字符串比較

要比較兩個字符串是否相等,使用equals()而不是==。

public class LearnString {public static void main(String[] args) {String s="asdfghjkl";System.out.println(s);s=s.toUpperCase();System.out.println(s);func1();}static void func1() {String s1="1234";String s2="1234";//Java把相同的字符串當作一個對象放入常量池System.out.println(s1==s2);System.out.println(s1.equals(s2));String s3="asd";String s4="ASD".toLowerCase();System.out.println(s3==s4);System.out.println(s3.equals(s4));}
}/*
輸出結果:
asdfghjkl
ASDFGHJKL
true
true
false
true*/

格式化字符串

字符串提供了formatted()方法和format()靜態方法,可以傳入其它參數,替換占位符,然后生成新的字符串:

System.out.println("this is %d\n".formatted(10));
System.out.println(String.format("this is %s\n","1234"));

類型轉換

可以使用靜態方法valueOf()把任意基本類型或引用轉換為字符串。這是一個重載方法。也可以用其它函數把字符串轉換為對應類型。

String s5=String.valueOf(1234);
System.out.println(s5.equals("1234"));int i1 = Integer.parseInt("456");
System.out.println(i1);

Stringchar[]也可以互相轉換:

char[] chars="asdfgh".toCharArray();
String s6=new String(chars);

上述代碼中chars和s6所指向的對象并不是同一個,而是復制了一份chars所指向的字符串對象給s6。

StringBuilder

Java編譯器對String做了特殊處理,使得我們可以直接用+拼接字符串。雖然可以直接拼接字符串,但是,在循環中,每次循環都會創建新的字符串對象,然后扔掉舊的字符串。這樣,絕大部分字符串都是臨時對象,不但浪費內存,還會影響GC效率。

StringBuilder sb = new StringBuilder(1024);
for (int i = 0; i < 1000; i++) {sb.append(',');sb.append(i);
}
String s = sb.toString();

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96011.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96011.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96011.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ragflow MCP 調用核心提示詞解析:邏輯閉環與優化方向

大家好&#xff5e;我是你們的提示詞工程師朋友&#xff0c;今天想跟大家聊聊開源項目 ragflow 里&#xff0c;MCP調用體系中的兩個關鍵提示詞。最近在研究調用工具和提示詞撰寫之間的平衡態。這倆家伙在信息處理和問題解決里作用不小&#xff0c;既有讓人眼前一亮的優勢?&…

從基礎功能到自主決策, Agent 開發進階路怎么走?

Agent 開發進階路線 基礎功能開發 環境感知與數據采集&#xff1a;傳感器集成、數據預處理&#xff08;濾波、歸一化&#xff09;、多模態數據融合簡單規則引擎&#xff1a;基于if-then的邏輯決策樹、狀態機實現基礎行為控制基礎交互能力&#xff1a;語音識別/TTS集成、基礎對話…

ModelScope概述與實戰

概述 ModelScope&#xff0c;簡稱MS&#xff0c;魔搭社區&#xff0c;由阿里巴巴達摩院推出的一個多任務、多模態的預訓練模型開放平臺&#xff0c;提供模型下載與運行、數據集管理、在線推理體驗、開發者社區交流等一站式服務&#xff0c;支持多種主流框架&#xff08;如PyTo…

人工智能學習:LR和SVM的聯系與區別?

LR和SVM的聯系與區別&#xff1f;相同點&#xff1a;&#xff08;1&#xff09; LR和SVM都可以處理分類問題 &#xff0c;且— 般都用于處理線性二 分類問題&#xff08;在改進的情況下可以處理多分類問題&#xff09;&#xff08;2&#xff09;兩個方 法都可以增加不同的正則化…

Integer 緩存機制

現象描述 Integer a 100; Integer b 100; System.out.println(a b); // true&#xff08;引用相同&#xff0c;從緩存中取&#xff09;Integer c 200; Integer d 200; System.out.println(c b); // false&#xff08;超出緩存范圍&#xff0c;new Integer(200)&#xff0…

生物化學Learning Track(II)——多肽+蛋白質一級結構

本筆記基于楊榮武教授第四版《生物化學》&#xff08;持續更新&#xff09;1. 多肽我們在上一節筆記里面介紹了什么是氨基酸&#xff0c;還有氨基酸的種類以及氨基酸基本的一些性質如等電點極性手性等等&#xff0c;這里我們開始介紹氨基酸結合的產物&#xff0c;因為氨基酸是脫…

Caffeine Weigher

Weigher 接口Weigher 是 Caffeine 緩存庫中一個非常重要的函數式接口&#xff0c;它用于計算緩存中每個條目&#xff08;entry&#xff09;的權重&#xff08;weight&#xff09;。這個權重值主要用于基于容量的驅逐策略&#xff0c;特別是當你希望緩存的總大小不是基于條目數量…

C/C++入門之搭建開發環境(VScode篇)

本文主要記錄 Visual Studio Code 中配置 C/C 的開發環境&#xff0c;包括項目設置、編譯選項和調試配置。VScode是編輯器&#xff0c;我們還需要安裝編譯器&#xff0c;才能實現編寫程序到生成可執行文件這一流程。關于編輯器&#xff0c;編譯器和IDE如果有些分不清&#xff0…

【營銷策略算法】關聯規則學習-購物籃分析

Apriori算法是關聯規則學習領域中最經典、最著名的算法之一&#xff0c;用于從大規模數據集中發現有價值的關聯規則。最典型的例子就是購物籃分析&#xff0c;通過分析顧客的購物籃&#xff0c;發現商品之間的關聯關系&#xff0c;從而制定營銷策略&#xff08;如“買尿布的顧客…

行為式驗證碼技術解析:滑塊拼圖、語序選詞與智能無感知

隨著傳統字符驗證碼逐漸被 OCR 與自動化腳本攻破&#xff0c;越來越多業務開始采用 行為式驗證碼 來區分真人與機器。這類驗證碼不僅依賴用戶的操作行為&#xff0c;還結合圖形干擾、環境信息和風控模型&#xff0c;既提升了安全性&#xff0c;也改善了用戶體驗。 常見的實現方…

基于多項式同態加密和秘密共享的JPEG可逆信息隱藏

學習題為《Reversible steganography in cipher domain for JPEG images using polynomial homomorphism》的論文隨著物聯網&#xff08;IoT&#xff09;設備的普及&#xff0c;大量敏感數據&#xff08;如指紋、身份信息&#xff09;需要在云端傳輸和存儲。傳統隱寫技術雖然能…

從 0 到 1 攻克訂單表分表分庫:億級流量下的數據庫架構實戰指南

引言&#xff1a; 本文總字數&#xff1a;約 8500 字建議閱讀時間&#xff1a;35 分鐘 當訂單表撐爆數據庫&#xff0c;我們該怎么辦&#xff1f; 想象一下&#xff0c;你負責的電商平臺在經歷了幾個雙十一后&#xff0c;訂單系統開始頻繁出現問題&#xff1a;數據庫查詢越來…

網絡編程(5)Modbus

【1】Modbus 1. 起源Modbus由Modicon公司于1979年開發&#xff0c;是全球第一個真正用于工業現場的總線協議在中國&#xff0c;Modbus 已經成為國家標準&#xff0c;并有專業的規范文檔&#xff0c;感興趣的可以去查閱相關的文件&#xff0c;詳情如下&#xff1a;標準編號為:GB…

WordPress性能優化全攻略:從插件實戰到系統級優化

一、性能診斷&#xff1a;定位瓶頸是優化第一步 在對 WordPress 進行性能優化前&#xff0c;精準定位性能瓶頸至關重要。這就好比醫生看病&#xff0c;只有先準確診斷&#xff0c;才能對癥下藥。下面將從核心性能指標檢測工具和服務器基礎性能排查兩個方面展開。 1.1 核心性能…

十、網絡與信息安全基礎知識

1 網絡概述 1.1 計算機網絡的概念 1.1.1 計算機網絡的發展 計算機網絡的發展經歷了四個主要階段&#xff1a; 具有通信功能的單機系統&#xff1a; 早期形式&#xff1a;一臺計算機連接多個終端。例子&#xff1a;20 世紀 50 年代的 SAGE 系統。 具有通信功能的多機系統&#x…

校園管理系統|基于SpringBoot和Vue的校園管理系統(源碼+數據庫+文檔)

項目介紹 : SpringbootMavenMybatis PlusVue Element UIMysql 開發的前后端分離的校園管理系統&#xff0c;項目分為管理端和用戶端和院校管理員端 項目演示: 基于SpringBoot和Vue的校園管理系統 運行環境: 最好是java jdk 1.8&#xff0c;我們在這個平臺上運行的。其他版本理…

新后端漏洞(上)- Weblogic SSRF漏洞

漏洞介紹&#xff1a;Weblogic中存在一個SSRF漏洞&#xff0c;利用該漏洞可以發送任意HTTP請求&#xff0c;進而攻擊內網中redis、fastcgi等脆弱組件。編譯及啟動測試環境docker-compose up -d訪問http://127.0.0.1:7001/uddiexplorer/&#xff0c;無需登錄即可查看uddiexplore…

Fiddler 實戰案例解析,開發者如何用抓包工具快速解決問題

在現代軟件開發中&#xff0c;網絡通信問題幾乎是最常見的 Bug 來源。無論是前端調用后端 API、移動端與服務端交互&#xff0c;還是第三方 SDK 請求&#xff0c;都會因為參數錯誤、環境差異、網絡條件不穩定而出現各種難以復現的問題。 在這些場景下&#xff0c;日志往往并不…

【佳易王藥品進銷存軟件實測】:操作簡單 + 全流程管理,醫藥臺賬管理好幫手#軟件教程全解析

前言&#xff1a; &#xff08;一&#xff09;試用版獲取方式 資源下載路徑&#xff1a;進入博主頭像主頁第一篇文章末尾&#xff0c;點擊卡片按鈕&#xff1b;或訪問左上角博客主頁&#xff0c;通過右側按鈕獲取詳細資料。 說明&#xff1a;下載文件為壓縮包&#xff0c;使用…

【設計模式】UML 基礎教程總結(軟件設計師考試重點)

【設計模式】UML 基礎教程總結(軟件設計師考試重點) 統一建模語言(Unified Modeling Language,UML),是一種標準化的面向對象建模語言,用于可視化、規范化和文檔化軟件系統設計。 參考資料:UML基礎教程資料(可用于軟件設計師考試)! (關注不迷路哈!!!) 文章目錄 【…