后端項目java中字符串、集合、日期時間常用方法

我這里只介紹了項目中最常用的哈,比如像集合有很多,但我們最常用的就是ArrayList。

然后我這里會以javascript中的字符串、數組的方法為基準來實現,有些方法js和java會有些區別也會介紹 

字符串

每次修改 String 對象都會創建一個新的對象,而 StringBuffer 可以在同一個對象上進行修改,這可以提高性能并減少內存消耗。StringBuffer對象可以被修改,并且不會創建新的對象,這使得它在需要頻繁修改字符串內容的情況下更加高效

StringBuffer

 如果項目中碰到需要頻繁修改的字符串建議先將字符串轉為StringBuffer:

1. String轉StringBuffer

String str = "12345";
StringBuffer bufStr = new StringBuffer(str);
System.out.println(bufStr);

2. 追加

StringBuffer buffer = new StringBuffer();
// 追加
buffer.append("1");
buffer.append("3");
buffer.append("4");
buffer.append("5");

3. 插入 (從第幾個位置插入元素)

buffer.insert(1, "2");

4. 截取(包前不包后 類似于js的slice)

注意:這里的返回值為String類型而不是StringBuffer 

String substring = buffer.substring(1, 4); // 234

5. 反轉

StringBuffer reverseBuffer = buffer.reverse(); // 54321

6. StringBuffer轉為String 

String s = buffer.toString();

String 

1. 轉集合 (js中的split)

// 轉集合(使用split方法先轉為數組再轉為集合)
List<String> strings = Arrays.asList(str.split(" ")); // 使用空格切分
System.out.println(strings); // [Hello, World]

2. 截取 (js中的slice)

String substring = str.substring(0, 5);

3. 獲取索引(js中的IndexOf) 

int ellIndex = str.indexOf("ell"); // 1

4. 獲取最后一個索引(js中的lastIndexOf) 

int ellLastIndex = str.lastIndexOf("ell");

5. 判斷以什么開頭(同js的startsWith) 

boolean isFirstHello = str.startsWith("Hello"); // true

6. 判斷以什么結尾(同js的endsWith) 

boolean isLastHello = str.endsWith("World"); // true

7. 字符串替換

這里需要注意一下

不同于前端的是:

java中的replace方法會把字符串中所有字符都替換,這相當于js中的replaceAll方法。

java中的replaceFirst方法只會替換第一個字符,這相當于js中的replace方法。

java中還提供了replaceAll方法,這也是替換所有,不過它適用于基于正則表達式的復雜替換需求,提供更大的靈活性。

String replace = str.replaceFirst("l", "哈哈"); // He哈哈lo World
String replace1 = str.replace("l", "哈哈"); // He哈哈哈哈o Wor哈哈d

8. 去除首位空格 

String str1 = "  w f t  ";
String trim = str1.trim(); // w f t

ArrayList集合 

再說集合之前,我們先簡單說一下java中的數組

數組

1. 創建數組

int[] numbers = {1, 2, 3, 4, 5}; // 直接初始化
String[] names = {"Alice", "Bob", "Charlie"}; // 字符串數組初始化

2. 訪問和修改數組元素 

int[] numbers = {1, 2, 3, 4, 5};
System.out.println(numbers[0]); // 輸出: 1
numbers[0] = 10; // 修改第一個元素
System.out.println(numbers[0]); // 輸出: 10

3. 獲取數組長度 

int[] numbers = {1, 2, 3, 4, 5};
System.out.println("Array length: " + numbers.length); // 輸出: Array length: 5

4. 遍歷數組

4.1 使用 for 循環
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);
}
4.2 使用增強型 for 循環(for-each)
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {System.out.println(num);
}

5. 常用方法

Java 提供了 java.util.Arrays 類,其中包含了許多靜態方法來操作數組。以下是一些常用的工具方法:

  • Arrays.toString(array):將數組轉換為字符串表示形式。

    int[] numbers = {1, 2, 3, 4, 5};
    System.out.println(Arrays.toString(numbers)); // 輸出: [1, 2, 3, 4, 5]
  • Arrays.sort(array):對數組進行排序,默認是升序排列。

    int[] numbers = {5, 3, 1, 4, 2};
    Arrays.sort(numbers);
    System.out.println(Arrays.toString(numbers)); // 輸出: [1, 2, 3, 4, 5]
  • Arrays.fill(array, value):用指定的值填充數組的所有元素。

    int[] numbers = new int[5];
    Arrays.fill(numbers, 7);
    System.out.println(Arrays.toString(numbers)); // 輸出: [7, 7, 7, 7, 7]
  • Arrays.binarySearch(array, key):在已排序的數組中查找指定的值。如果找到則返回索引,否則返回負數。

    int[] numbers = {1, 2, 3, 4, 5};
    int index = Arrays.binarySearch(numbers, 3);
    System.out.println("Index

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

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

相關文章

Ubuntu 22.04永久保存路由

在 Ubuntu 22.04 上&#xff0c;可以按照以下方式配置讓流量訪問 172.19.201.207 走指定的路由。 1. 臨時添加路由 臨時路由規則只在當前系統會話中有效&#xff0c;重啟后會丟失。 添加路由規則 運行以下命令&#xff1a; sudo ip route add 172.19.201.207 via 192.168.2…

實用 Linux 之命令(Practical Linux Commands)

實用 Linux之 命令&#xff0c;可以解決日常99%的問題~ 1、基本命令 uname -m 顯示機器的處理器架構uname -r 顯示正在使用的內核版本dmidecode -q 顯示硬件系統部件(SMBIOS / DMI) hdparm -i /dev/hda 羅列一個磁盤的架構特性hdparm -tT /dev/sda 在磁盤上執行測試性讀取操作…

SAP SD客戶主數據及其配置

一、客戶主數據概述 在SD模塊概覽中對于SD模塊及其有關的三大主數據進行了概要介紹&#xff0c;本篇文章將重點對于客戶主數據進行有關介紹。 1、業務伙伴主數據 在提到客戶主數據之前&#xff0c;我們先了解業務伙伴主數據的概念。 業務伙伴主數據是一個更廣泛的概念&#x…

GitCode 光引計劃征文展示|MilvusPlus:開啟向量數據庫新篇章

在人工智能和大數據時代&#xff0c;向量數據庫作為處理非結構化數據的核心技術&#xff0c;正變得越來越重要。MilvusPlus&#xff0c;作為「光引計劃」的一部分&#xff0c;應運而生&#xff0c;旨在提供一個高性能、易擴展、全功能的向量數據庫解決方案。項目背景根植于對現…

網絡架構與IP技術:4K/IP演播室制作的關鍵支撐

隨著科技的不斷發展&#xff0c;廣播電視行業也在不斷迭代更新&#xff0c;其中4K/IP演播室技術的應用成了一個引人注目的焦點。4K超高清技術和IP網絡技術的結合&#xff0c;不僅提升了節目制作的畫質和效果&#xff0c;還為節目制作帶來了更高的效率和靈活性。那么4K超高清技術…

30多種獨特藝術抽象液態酸性金屬鍍鉻封面背景視覺紋理MOV視頻素材

使用 Prismatic Flows 轉換您的項目&#xff01;這個包擁有 30 多種獨特的液體背景和動畫&#xff0c;為任何創意活動提供令人驚嘆的視覺效果。 棱鏡流 – 動畫背景和迭加包括30多種不同的液體背景和動畫。這些高質量的資源非常適合通過充滿活力和動態的視覺效果來增強您的項目…

32. 線程、進程與協程

一、什么是多任務 如果一個操作系統上同時運行了多個程序&#xff0c;那么稱這個操作系統就是 多任務的操作系統&#xff0c;例如&#xff1a;Windows、Mac、Android、IOS、Harmony 等。如果是一個程序&#xff0c;它可以同時執行多個事情&#xff0c;那么就稱為 多任務的程序。…

概率論 期末 筆記

第一章 隨機事件及其概率 利用“四大公式”求事件概率 習題 推導 全概率公式與貝葉斯公式 伯努利概型求概率 一維隨機變量及其分布

VLAN數據格式

概念&#xff1a;VLAN叫做虛擬局域網&#xff0c;指在物理網絡中根據用于、工作組、應用等進行邏輯劃分的局域網&#xff0c;是一個廣播域&#xff0c;與用戶的物理位置沒有關系。 作用&#xff1a;VLAN可以靈活的進行分段和組織&#xff0c;能夠實現更好的安全性&#xff0c;…

css 裁剪 clip-path

clip-path 是一個強大的 CSS 屬性&#xff0c;用于裁剪元素的可視區域&#xff0c;支持多種形狀裁剪。它可以用來創建復雜的裁剪效果&#xff0c;如圓形、多邊形、路徑等。 clip-path: none | shape | url(#clipPathId);none&#xff1a;不裁剪&#xff0c;顯示完整內容。shap…

*【每日一題 基礎題】 [藍橋杯 2023 省 B] 飛機降落

題目描述 N 架飛機準備降落到某個只有一條跑道的機場。其中第 i 架飛機在 Ti 時刻到達機場上空&#xff0c;到達時它的剩余油料還可以繼續盤旋 Di 個單位時間&#xff0c;即它最早可以于 Ti 時刻開始降落&#xff0c;最晚可以于 Ti Di 時刻開始降落。降落過程需要 Li個單位時間…

計算機vcruntime140_1.dll丟失是什么原因?vcruntime140_1.dll丟失的解決辦法如下:

計算機中vcruntime140_1.dll文件丟失的原因可能有多種&#xff0c;以下是一些常見的原因&#xff1a; 安裝不完整或損壞&#xff1a;某些應用程序在安裝過程中可能因為意外中斷、安裝程序損壞或其他原因導致vcruntime140_1.dll未能正確安裝或復制到系統目錄。軟件卸載或更新不…

Redis學習(三)緩存

Redis學習&#xff08;三&#xff09;緩存 一、什么是緩存?如何使用緩存 二、添加商戶緩存1、緩存模型和思路2、緩存更新策略1、數據庫緩存不一致解決方案&#xff1a;2、數據庫和緩存不一致采用什么方案 3、實現商鋪和緩存與數據庫雙寫一致 三、緩存穿透問題的解決思路1、編碼…

軟件設計與體系結構

1.簡要說明什么是軟件體系結構&#xff0c;軟件體系結構模型&#xff0c;為什么要建立軟件體系結構模型&#xff1f; 答&#xff1a;軟件體系結構指一個軟件系統在高層次上的結構化組織方式&#xff0c;包括系統的組成部分和各個部分之間的關系&#xff0c;以及它們與環境之間的…

Essential Use Cases和Real Use Cases

在軟件開發領域&#xff0c;用例&#xff08;Use Cases&#xff09;是一種非常重要的工具&#xff0c;它能夠幫助開發團隊、產品經理以及用戶之間對系統的功能需求達成一致。用例描述了在特定條件下&#xff0c;系統對用戶請求所做出的響應&#xff0c;從而清晰地表達了系統的行…

P102如何降頻降壓

要對NVIDIA P102顯卡進行降頻降壓操作&#xff0c;可以按照以下步驟進行&#xff1a; ? 使用MSI Afterburner軟件&#xff1a; ? 打開MSI Afterburner&#xff0c;使用曲線編輯器調整頻率和電壓。豎軸為核心頻率&#xff0c;橫軸為電壓。通過整體下移靠后的頻率和電壓區域&a…

概率論得學習和整理32: 用EXCEL描述正態分布,用δ求累計概率,以及已知概率求X的區間

目錄 1 正態分布相關 2 正態分布的函數和曲線 2.1 正態分布的函數值&#xff0c;用norm.dist() 函數求 2.2 正態分布的pdf 和 cdf 2.3 正態分布的圖形隨著u 和 δ^2的變化 3 正態分布最重要的3δ原則 3.0 注意&#xff0c;這里說的概率一定是累計概率CDF&#xff0c;而…

HTML5文檔元數據詳解

HTML5文檔元數據詳解 在HTML5中&#xff0c;元數據&#xff08;Meta Data&#xff09;是文檔頭部的重要組成部分&#xff0c;提供了關于網頁本身的信息。以下是一些常見的元數據標簽及其詳細說明。 1. <meta> 標簽 <meta>標簽用于定義文檔的元數據&#xff0c;通…

使用開源在線聊天工具Fiora輕松搭建個性化聊天平臺在線交流

文章目錄 前言1.關于Fiora2.安裝Docker3.本地部署Fiora4.使用Fiora5.cpolar內網穿透工具安裝6.創建遠程連接公網地址7.固定Uptime Kuma公網地址 前言 今天給大家介紹一款免費開源的在線聊天工具——Fiora。它不僅是一款功能強大的即時通訊軟件&#xff0c;更是開發者們展現創造…

pm面試題

你平時都用哪些產品&#xff0c;這些產品好在哪里&#xff0c;不好在哪里&#xff0c;為什么&#xff1f;&#xff08;問到概率50%&#xff09; 把市面上的常見產品進行一個調研來設計一個跨境電商產品&#xff0c;請說明你需要多少費用和什么樣的團隊&#xff0c;將在一年內將…