Java核心知识详解:String类、StringBuffer、数组及日期时间的全面解析

🚀 作者 :“码上有前”
🚀 文章简介 :Java
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬
在这里插入图片描述
在这里插入图片描述

标题

Java核心知识详解:String类、StringBuffer、数组及日期时间的全面解析

摘要

在Java中,字符串、数组和时间日期对象是应用开发中不可或缺的核心概念。String类提供了强大的字符串处理功能,而StringBuffer则解决了字符串不可变带来的性能问题。数组作为一种重要的数据存储结构,为开发者提供了灵活高效的方式存储和操作数据。而时间日期对象的处理则是现代应用中不可忽视的需求。本篇文章将详细解析String类及其10个常用方法,探讨StringBuffer类的概念与常用方法,阐述数组对象的用法及常见操作,并介绍Java中时间日期对象及其应用,辅以丰富实例代码,帮助初学者全面掌握这些基础知识。


文章内容

String类及其10个常用方法

String类是Java中用于操作字符串的最终类。字符串在Java中是不可变的,这意味着一旦创建,其内容不可改变。String类提供了许多方法,方便开发者进行字符串操作。

方法名描述
length()返回字符串长度
charAt(int index)获取指定索引处的字符
substring(int start, int end)截取子字符串
equals(String another)判断两个字符串内容是否相等
equalsIgnoreCase(String another)忽略大小写比较字符串
toLowerCase()将字符串转为小写
toUpperCase()将字符串转为大写
trim()去掉字符串两端的空格
replace(char oldChar, char newChar)替换字符
split(String regex)根据正则表达式分割字符串
示例代码:String类常用方法
public class StringExample {
    public static void main(String[] args) {
        String text = "  Hello, Java!  ";
        System.out.println("Length: " + text.length());
        System.out.println("Character at index 1: " + text.charAt(1));
        System.out.println("Substring (7-11): " + text.substring(7, 11));
        System.out.println("Equals 'hello': " + text.equals("hello"));
        System.out.println("Ignore Case Equals 'hello': " + text.equalsIgnoreCase("hello"));
        System.out.println("To Lowercase: " + text.toLowerCase());
        System.out.println("To Uppercase: " + text.toUpperCase());
        System.out.println("Trimmed: " + text.trim());
        System.out.println("Replaced: " + text.replace('J', 'C'));
        String[] words = text.split(",");
        System.out.println("Split: " + words[0] + " | " + words[1].trim());
    }
}

StringBuffer类:概念与常用方法

StringBuffer是Java中可变的字符串类,适用于需要频繁修改字符串的场景,如追加、删除、插入等操作。它的线程安全特性适合多线程环境。

方法名描述
append(String str)在末尾追加字符串
insert(int offset, String str)在指定位置插入字符串
replace(int start, int end, String str)替换指定范围内容
delete(int start, int end)删除指定范围的内容
reverse()反转字符串
示例代码:StringBuffer类常用方法
public class StringBufferExample {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("Hello");
        sb.append(", Java!"); // 追加
        System.out.println("After Append: " + sb);
        sb.insert(5, " Wonderful"); // 插入
        System.out.println("After Insert: " + sb);
        sb.replace(0, 5, "Hi"); // 替换
        System.out.println("After Replace: " + sb);
        sb.delete(3, 12); // 删除
        System.out.println("After Delete: " + sb);
        sb.reverse(); // 反转
        System.out.println("After Reverse: " + sb);
    }
}

数组对象:概念与常用方法

数组是用于存储同类型数据的容器,具有固定的大小和索引访问机制。Java提供了丰富的方法操作数组对象。

方法名描述
Arrays.sort()排序数组
Arrays.binarySearch()二分查找
Arrays.toString()将数组转为字符串
System.arraycopy()数组复制
Arrays.copyOf()创建数组副本
Arrays.equals()比较两个数组是否相等
示例代码:数组常用方法
import java.util.Arrays;

public class ArrayExample {
    public static void main(String[] args) {
        int[] numbers = {3, 5, 1, 4, 2};
        Arrays.sort(numbers); // 排序
        System.out.println("Sorted Array: " + Arrays.toString(numbers));
        int index = Arrays.binarySearch(numbers, 4); // 二分查找
        System.out.println("Index of 4: " + index);
        
        int[] copied = Arrays.copyOf(numbers, numbers.length); // 复制
        System.out.println("Copied Array: " + Arrays.toString(copied));
        
        System.out.println("Arrays Equal: " + Arrays.equals(numbers, copied));
    }
}

时间日期对象及常用方法

Java提供了丰富的时间日期处理类,LocalDateTime是现代应用中处理日期时间的核心。

方法名描述
LocalDate.now()获取当前日期
LocalTime.now()获取当前时间
LocalDateTime.now()获取当前日期时间
plusDays(int days)增加指定天数
minusHours(int hours)减去指定小时数
format(DateTimeFormatter)格式化日期时间
示例代码:日期时间操作
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        System.out.println("Current DateTime: " + now);
        
        LocalDateTime future = now.plusDays(10);
        System.out.println("Future DateTime (10 days later): " + future);
        
        LocalDateTime past = now.minusHours(5);
        System.out.println("Past DateTime (5 hours ago): " + past);
        
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println("Formatted DateTime: " + now.format(formatter));
    }
}

通过详细讲解和代码示例,本文展示了Java中字符串、数组和日期时间对象的强大功能和灵活性,帮助初学者快速掌握这些实用工具。

都看到这啦,点个赞再走吧!🚀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/922772.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.

操作环境: MATLAB 2022a 1、算法描述 北方苍鹰优化算法(Northern Goshawk Optimization,简称NGO)是一种新兴的智能优化算法,灵感来源于北方苍鹰的捕猎行为。北方苍鹰是一种敏捷且高效的猛禽,广泛分布于北…

SplatFormer: Point Transformer for Robust3D Gaussian Splatting 论文解读

目录 一、概述 二、相关工作 1、NVI新视角插值 2、稀疏视角重建 3、OOD-NVS 4、无约束重建下的正则化技术 5、基于学习的2D-to-3D模型 6、3D点云处理技术 三、SplatFormer 1、Point Transformer V3 2、特征解码器 3、损失函数 四、数据集 五、实验 一、概述 该论…

Azkaban部署

首先我们需要现在相关的组件,在这里已经给大家准备好了相关的安装包,有需要的可以自行下载。 只需要启动hadoop集群就可以,如果现在你的hive是打开的,那么请你关闭!!! 如果不关会造成证书冲突…

目标检测模型优化与部署

目录 引言数据增强 随机裁剪随机翻转颜色抖动 模型微调 加载预训练模型修改分类器训练模型 损失函数 分类损失回归损失 优化器算法思路 RPN (Region Proposal Network)Fast R-CNN损失函数 部署与应用 使用 Flask 部署使用 Docker 容器化 参考资料 引言 目标检测是计算机视觉…

Charles抓包工具-笔记

摘要 概念: Charles是一款基于 HTTP 协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果来达到分析抓包的目的。 功能: Charles 是一个功能全面的抓包工具,适用于各种网络调试和优化场景。 它…

java: itext8.05 create pdf

只能调用windows 已安装的字体,这样可以在系统中先预装字体,5.0 可以调用自配文件夹的字体文件。CSharp donetItext8.0 可以调用。 /*** encoding: utf-8* 版权所有 2024 ©涂聚文有限公司 言語成了邀功盡責的功臣,還需要行爲每日來值班…

Kafka 生产者优化与数据处理经验

Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…

C高级学习笔记

……接上文 硬链接和软连接(符号链接) 硬链接 硬链接文件可以理解为文件的副本(可以理解为复制粘贴) ln 根据Linux系统分配给文件的inode(ls -li)号进行建立,没有办法跨越文件系统 格式:ln 被链接的文件&am…

Java基于SpringBoot+Vue的藏区特产销售平台

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

vim 分割窗口后,把状态栏给隐藏

一、基本环境 主机MacOs Sonoma 14.7主机终端Iterm2虚拟机Parallels Desktop 20 for Mac Pro Edition 版本 20.0.1 (55659)虚拟机-操作系统Ubuntu 22.04 最小安装 二、分割窗口后的截图,红色线条部分就是状态栏 分割后个布局是:顶部1行高度窗口&#x…

【数据结构】【线性表】栈的基本概念(附c语言源码)

栈的基本概念 讲基本概念还是回到数据结构的三要素:逻辑结构,物理结构和数据运算。 从逻辑结构来讲,栈的各个数据元素之间是通过是一对一的线性连接,因此栈也是属于线性表的一种从物理结构来说,栈可以是顺序存储和顺…

OpenOCD之J-Link下载

1.下载USB Dirver Tool.exe,选择J-Link dirver,替换成WinUSB驱动。(⭐USB Dirver Tool工具可将J-Link从WinUSB驱动恢复为默认驱动⭐) 下载方式 ①官方网址:https://visualgdb.com/UsbDriverTool/ ②笔者的CSDN链接&…

【JavaEE初阶 — 多线程】定时器的应用及模拟实现

目录 1. 标准库中的定时器 1.1 Timer 的定义 1.2 Timer 的原理 1.3 Timer 的使用 1.4 Timer 的弊端 1.5 ScheduledExecutorService 2. 模拟实现定时器 2.1 实现定时器的步骤 2.1.1 定义类描述任务 定义类描述任务 第一种定义方法 …

ssm168基于jsp的实验室考勤管理系统网页的设计与实现+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:实验室考勤管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本实验室考勤管…

原生微信小程序在顶部胶囊左侧水平设置自定义导航兼容各种手机模型

无论是在什么手机机型下,自定义的导航都和右侧的胶囊水平一条线上。如图下 以上图iphone12,13PRo 以上图是没有带黑色扇帘的机型 以下是调试器看的wxml的代码展示 注意:红色阔里的是自定义导航(或者其他的logo啊,返回之…

Python 获取微博用户信息及作品(完整版)

在当今的社交媒体时代,微博作为一个热门的社交平台,蕴含着海量的用户信息和丰富多样的内容。今天,我将带大家深入了解一段 Python 代码,它能够帮助我们获取微博用户的基本信息以及下载其微博中的相关素材,比如图片等。…

springcloud alibaba之shcedulerx实现分布式锁

文章目录 1、shcedulerx简介2、基于mysq分布式锁实现3、注解方式使用分布式锁4、编码方式使用分布式锁 1、shcedulerx简介 springcloud alibaba shcedulerx看起来有点像xxl job那样的任务调度中间件,其实它是一个分布式锁框架,含有两种实现一种基于DB实…

【LLM训练系列02】如何找到一个大模型Lora的target_modules

方法1:观察attention中的线性层 import numpy as np import pandas as pd from peft import PeftModel import torch import torch.nn.functional as F from torch import Tensor from transformers import AutoTokenizer, AutoModel, BitsAndBytesConfig from typ…

Selenium的八种定位方式

1. 通过 ID 定位 ID 是最直接和高效的方式来定位元素,因为每个页面中的 ID 应该是唯一的。 from selenium import webdriverdriver webdriver.Chrome(executable_pathpath/to/chromedriver) driver.get(https://example.com)# 通过 ID 定位 element driver.find…

MySQL底层概述—1.InnoDB内存结构

大纲 1.InnoDB引擎架构 2.Buffer Pool 3.Page管理机制之Page页分类 4.Page管理机制之Page页管理 5.Change Buffer 6.Log Buffer 1.InnoDB引擎架构 (1)InnoDB引擎架构图 (2)InnoDB内存结构 (1)InnoDB引擎架构图 下面是InnoDB引擎架构图,主要分为内存结构和磁…