当前位置: 首页 > news >正文

JAVA---字符串

 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---3StringJoiner sj = new StringJoiner(“,”,“[”,“]”); [1,2,3]

成员方法:

字符串原理

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

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

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

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

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

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

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

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

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

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

4.StringBuilder提高效率原理图

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

 

5.StringBuilder源码分析

相关文章:

  • docker配置mysql遇到的问题:网络连接超时、启动mysql失败、navicat无法远程连接mysql
  • Nginx技术培训文档
  • 【Linux网络#1】:网络基础知识
  • strings.TrimLeft 使用详解
  • ssm乡村合作社商贸网站设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 网络流之最大流(Dinic)
  • 26考研——指令系统_CISC 和 RISC 的基本概念(4)
  • [详细无套路]MDI Jade6.5安装包下载安装教程
  • setup语法糖
  • AudioVideoMerger 下载与使用
  • ZBrush2025建模软件下载 ZBrush中文版免费下载 ZBrush版本大全
  • c++初始化数组
  • python输出
  • 利用知识图谱提升测试用例生成精准性:基于Graphiti与DeepSeek-R1的实战指南
  • 23种设计模式-行为型模式之迭代器模式(Java版本)
  • Redis数据结构SDS,IntSet,Dict
  • 【读论文】面向小目标的轻型变电设备缺陷检测算法
  • Python文件操作及数据库交互(Python File Manipulation and Database Interaction)
  • cron定时任务
  • element ui el-col的高度不一致导致换行
  • 《深度参与全球海洋治理的重大科技问题战略研究》一书出版发行
  • 保时捷中国研发中心落户上海虹桥商务区,计划下半年投入运营
  • 美银证券前董事总经理胡霁光履新,任摩根士丹利中国区副主席
  • 限时离境、关闭领空、暂停贸易,巴基斯坦宣布一系列对印反制措施
  • 詹妮弗·劳伦斯、罗伯特·帕丁森新片入围戛纳主竞赛单元
  • 人民日报:外资车企携新车、前沿技术亮相上海车展,坚定信心深耕中国市场