JAVA---字符串

news2025/4/27 6:16:06

 ctrl+N  搜索界面(idea)

API和API帮助文档

API

应用程序编程接口(换句话说,就是别人已经写好了,我们不需要再编写,直接使用即可)

Java API :就是JDK中提供的各种功能的JAVA类

我们已经学习过的API:

Scanner  键盘录入

Random  随机数

API 帮助文档

帮助开发人员更好的使用API和查询API的工具

API 帮助文档则是对 API 进行详细说明的文档,主要用于帮助开发者了解和使用 API

如何使用API帮助文档 ?

a. 打开API帮助文档

b. 点击显示,并找到索引下面的输入

c. 在输入框中输入类名并点击显示

d. 查看类所在的包

e. 查看类的描述

f. 查看构造方法

g. 查看成员方法

字符串

"abc" + true = "abctrue"

"123"

"chilling heart"

String 概述

java.lang.String 类代表字符串,Java 程序中的所有自妇产文字(如“abc”)都为此类的对象

String name = "chilling heart";

 注意:字符串的内容是不会发生改变的,它的对象在创建后不能被修改

创建String对象的两种方式

1. 直接赋值

String name = "chilling heart";

2.new 关键字  构造方法

String s1 = new String();

String s2 = new String ("chilling heart");
//当使用双引号直接赋值时,系统会检查该字符串在串池中是否存在
//不存在:创建新的
//存在:复用
//优点:简单同时节约空间

byte[] bytes ={97,98,99,100};
String s4 = new String(bytes);

char[] chars = {'a','b','c'};
String s3 = new String(chars);

JAVA 常用第方法(比较)

常见的:

但是我们想想以下情况:

恒等号(==)在基本数据类型比较中比较的是真实的数据值

                      在引用数据类型比较中比较的时地址值

字符串的比较

1. boolean equals 方法(要比较的字符串)    完全一样结果是true,否则为false

2. boolean equalsIgnoreCase(要比较的字符串)  忽略大小写比较

boolean result = s1.equals(s2);

String substring(int beginIndex,int endIndex)   //截取

注意:包头不包尾,包左不包右


String substring(int beginIndex)   //截取到末尾

 

可以吧StringBulider看成一个容器,创建之后里面的内容是可变的。

作用:提高字符串的操作效率

构造方法:

常用方法:

 

StringJoiner(JDK8)

如同StringBuilder,也可以看成一个容器,创建之后里面的内容是可变的;

作用:提高字符串的操作效率,而且使代码简洁(市场上少有人用)

构造方法:

StringJoiner sj = new StringJoiner(“---”);  // 1---2---3

StringJoiner sj = new StringJoiner(“,”,“[”,“]”); [1,2,3]

成员方法:

字符串原理

1.字符串存储的内存原理

a. 直接赋值会复用字符串常量池中的

b. new出来不会复用,而是开辟一个新空间 

2.==号比较的到底是什么?

a. 在基本数据类型比较中比较的是真实的数据值

b. 在引用数据类型比较中比较的时地址值

3.字符串拼接的底层原理

如果很多字符串变量拼接,不要直接+。在底层会创建多个对象,浪费时间、性能。

a. 如果没有变量参与,都是字符串直接相加,编译之后是拼接后的结果,会复用串池中的字符串;

b. 如果有变量参与,每一行拼接的代码,都会在内存中创建新的字符串,浪费内存。

4.StringBuilder提高效率原理图

a. 所有要拼接的内容都会往StringBuilder中放,不会创造很多无用的空间,节约内存

 

5.StringBuilder源码分析

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MacOS 10.15上能跑大语言模型吗?

MacOS 10.15上能跑大语言模型吗? 下载安装Ollama运行大语言模型引申出的问题 MacOS 10.15.7(发布于2020年9月)作为已经发布了将近5年的系统版本能够运行当今流行的大语言模型吗?这篇文章简要介绍了在MacOS 10.15上通过Ollama运行d…

AI Agent开发第37课-DeepSeek的多模态版JanusPro-7B本地安装

开篇 搜遍Janus Pro git issues、谷哥、国内网络,教程全都是错的。因此还是决定写一本全网唯一正确的教程。 目前网上的教程包括外网的教程都是“缺斤少量”,按照那些教程操作下来不是装不起来,就是装起来只能CPU运行,或者运行起来了Janus的Web前端老是转啊转不出内容。 …

神经网络笔记 - 感知机

一 感知机是什么 感知机(Perceptron)是一种接收输入信号并输出结果的算法。 它根据输入与权重的加权和是否超过某个阈值(threshold),来判断输出0还是1。 二.计算方式 感知机的基本公式如下: X1, X2 : …

阿里云基于本地知识库构建RAG应用 | 架构与场景

RAG(检索增强生成,Retrieval-Augmented Generation)是一种结合了检索和生成技术的框架,旨在通过外部知识库的检索来增强大语言模型(LLM)的生成能力。 其核心架构包括两个主要部分: 检索模块&a…

CSS简单实用的加载动画、骨架屏有效果图

效果图 .wxml <!-- 骨架屏 --> <view wx:for"{{skeleton}}" wx:key"index" class"container center" style"--w:{{item.w}}rpx;--h:{{item.h}}rpx" /> <!-- 加载 --> <view class"arco-loading center&quo…

3:QT联合HALCON编程—海康相机SDK二次程序开发

思路&#xff1a; 1.定义带UI界面的主函数类 1.1在主函数中包含其它所有类头文件&#xff0c;进行声明和实例化&#xff1b;使用相机时&#xff0c;是用公共相机的接口在某一个具体函数中去实例化具体的海康相机对象。 1.2设计界面&#xff1a;连接相机&#xff0c;单次采集&a…

【前后端分离项目】Vue+Springboot+MySQL

文章目录 1.安装 Node.js2.配置 Node.js 环境3.安装 Node.js 国内镜像4.创建 Vue 项目5.运行 Vue 项目6.访问 Vue 项目7.创建 Spring Boot 项目8.运行 Spring Boot 项目9.访问 Spring Boot 项目10.实现 Vue 与 Spring Boot 联动11.安装 axios12.编写请求13.调用函数请求接口14.…

数据结构和算法(八)--2-3查找树

目录 一、平衡树 1、2-3查找树 1.1、定义 1.2、查找 1.3、插入 1.3.1、向2-结点中插入新键 1.3.2、向一棵只含有一个3-结点的树中插入新键 1.3.3、向一个父结点为2-结点的3-结点中插入新键 1.3.4、向一个父结点为3-结点的3-结点中插入新键 1.3.5、分解根结点 1.4、2…

Unity-Shader详解-其二

前向渲染和延迟渲染 前向渲染和延迟渲染总的来说是我们的两种主要的渲染方式。 我们在Unity的Project Settings中的Graphic界面能够找到渲染队列的设定&#xff1a; 我们也可以在Main Camera这里进行设置&#xff1a; 那这里我们首先介绍一下两种渲染&#xff08;Forward R…

深入浅出理解并应用自然语言处理(NLP)中的 Transformer 模型

1 引言 随着信息技术的飞速发展&#xff0c;自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;作为人工智能领域的一个重要分支&#xff0c;已经取得了长足的进步。从早期基于规则的方法到如今的深度学习技术&#xff0c;NLP 正在以前所未有的速度改变着我…

当自动驾驶遇上“安全驾校”:NVIDIA如何用技术给无人驾驶赋能?

自动驾驶技术的商业化落地&#xff0c;核心在于能否通过严苛的安全验证。国内的汽车企业其实也在做自动驾驶&#xff0c;但是吧&#xff0c;基本都在L2级别。换句话说就是在应急时刻内&#xff0c;还是需要人来辅助驾驶&#xff0c;AI驾驶只是决策层&#xff0c;并不能完全掌握…

【OSG学习笔记】Day 9: 状态集(StateSet)与渲染优化 —— 管理混合、深度测试、雾效等渲染状态

干货开始。_ 一、StateSet核心概念与作用 StateSet 是OSG(OpenSceneGraph)中管理渲染状态的核心类,用于封装 OpenGL 渲染状态(如混合、深度测试、雾效、材质、纹理、着色器等),并将这些状态应用于节点或几何体。 通过合理组织 StateSet,可实现: 渲染状态的高效复用:…

Operating System 实验七 Linux文件系统实验

实验目标: 使用dd命令创建磁盘镜像文件ext2.img并格式化为ext2文件系统,然后通过mount命令挂载到Linux主机文件系统。查看ext2文件系统的超级块的信息,以及数据块的数量、数据块的大小、inode个数、空闲数据块的数量等信息 在文件系统中创建文件xxxxx.txt(其中xxxxx为你的学…

linux中shell脚本的编程使用

linux中shell脚本的编程使用 1.shell的初步理解1.1 怎么理解shell1.2 shell命令 2.shell编程2.1 什么是shell编程2.2 C语言编程 和 shell编程的区别 3.编写和运行第一个shell脚本程序3.1 编写时需要注意以下几点&#xff1a;3.1.1 shell脚本没有main函数&#xff0c;没有头文件…

图像畸变-径向切向畸变实时图像RTSP推流

实验环境 注意&#xff1a;ffmpeg进程stdin写入两张图片的时间间隔不能太长&#xff0c;否则mediamtx会出现对应的推流session超时退出。 实验效果 全部代码 my_util.py #进度条 import os import sys import time import shutil import logging import time from datetime i…

手搓雷达图(MATLAB)

看下别人做出来什么效果 话不多说&#xff0c;咱们直接开始 %% 可修改 labels {用户等级, 发帖数, 发帖频率, 点度中心度, 中介中心度, 帖子类型计分, 被列为提案数}; cluster_centers [0.8, 4.5, 3.2, 4.0, 3.8, 4.5, 4.2; % 核心用户0.2, 0.5, 0.3, 0.2, 0.1, 0.0, 0.0;…

汽车零配件供应商如何通过EDI与主机厂生产采购流程结合

当前&#xff0c;全球汽车产业正经历深刻的数字化转型&#xff0c;供应链协同模式迎来全新变革。作为产业链核心环节&#xff0c;汽车零部件供应商与主机厂的高效对接已成为企业发展的战略要务。然而&#xff0c;面对主机厂日益严格的数字化采购要求&#xff0c;许多供应商在ED…

闻性与空性:从耳根圆通到究竟解脱的禅修路径

一、闻性之不动&#xff1a;超越动静的觉性本质 在《楞严经》中&#xff0c;佛陀以钟声为喻揭示闻性的奥秘&#xff1a;钟声起时&#xff0c;闻性显现&#xff1b;钟声歇时&#xff0c;闻性不灭。此“不动”并非如磐石般凝固&#xff0c;而是指觉性本身超越生灭、来去的绝对性…

第34课 常用快捷操作——按“空格键”旋转图元

概述 旋转某个图元&#xff0c;是设计过程中常需要用到的操作&#xff0c;无论是在原理图中旋转某个图形&#xff0c;还是在PCB图中旋转某个元素。 旋转操作的快捷键是空格键。下面作详细介绍。 按空格键旋转图元 当我们选中一个图元时&#xff0c;按下空格键&#xff0c;即…

基于亚马逊云科技构建音频转文本无服务器应用程序

Amazon Transcribe是一项基于机器学习模型自动将语音转换为文本的服务。它提供了多种可以提高文本转录准确性的功能&#xff0c;例如语言自定义、内容过滤、多通道音频分析和说话人语音分割。Amazon Transcribe 可用作独立的转录服务&#xff0c;也可以集成到应用程序中提供语音…