java字符串String类的常用方法

java字符串String类的常用方法

字符串的创建:

(1)定义字符串直接赋值,在字符串池中开辟空间()

String str1=“Hello”;//在字符串池中写入字符串"hello"

String str2=“Hello”;//直接引用字符串池中的"Hello"

System.out.println(str1==str2);//地址相同,输出:true

(2)使用new关键字调用字符串的构造函数,在堆区开辟空间

String str1=new String(“Hello”);//在堆区开辟空间并写入字符串"Hello"

String str2=new String(“Hello”);//另外开辟空间并写入字符串"hello"

System.out.println(str1==str2);//地址不同,输出:false

(3)使用字符数组初始化字符串

char ch={“H”,“e”,“l”,“l”,“o”};

String str=new String(ch);//使用String的构造函数,将字符数组转化成字符串

String类的类名调用的方法:

String.valueof()方法

作用:将指定类型转换成字符串类型;

参数:需要传入的其他类型数据(char,int,boolean,double,float等);

返回:转换后的字符串;

//将int类型的a,转换为字符串类型

int a=1;

String str=String.value(a);

String.format()方法

作用:按照指定格式的字符创建生成新字符串;

参数:格式字符串(%d 整型占位符, %f浮点型占位符,%s 字符型占位符),动态参数值(按照格式中的占位符,依次传入对应值);

返回:按照规定格式产生的新字符串;

//使用format方法,将"第1名是小明成绩91.5分"转化成字符串

String str=String.format(“第%d名是%s成绩%f分”,1,“小明”,91.5);

String.join()方法

作用:将字符数组用指定的字符隔开;

参数:隔开数组的字符,依次传入需要连接的字符(直接传入字符数组);

返回:用指定字符隔开的新字符串;

//使用"-“连接字符(“java”,“is”,“cool”)

String str=String.join(”-",“java”,“is”,“cool”);

System.out.println(str);//输出:java-is-cool

String类的对象调用的方法

字符串的判断方法

(1)equals()方法

作用:比较两个字符串是否一致,区分大小写;

参数:需要比较的另外一个字符串;

返回:true表示两字符串内容一致,false表示两字符串内容不一致;

/* equals()方法,字符串比较规则

先比较地址是否一样,地址一样返回true

地址不一样比较字符串长度,长度不一样返回false

长度一样比较字符串中每一个字符是否一样,有一个不一样返回false,都一样返* 回true

*/

String str1=“Hello”;

String str2=“hello”;

String str3=new String(“Hello”);

System.out.println(str1.equals(str2));//false,equals()区分大小写

System.out.println(str1.equals(str3));//true

(2)equalsIgnoreCase()方法

作用:比较两个字符串是否一致,不区分大小写;

参数:需要比较的另外一个字符串;

返回:true表示两字符串内容一致,false表示两字符串内容不一致;

String str1=“HELLO”;

String str2=“hello”;

System.out.println(str1.equalsIgnoreCase(str2));

(3)contains()方法

作用:判断当前字符串中是否包含指定子字符串;

参数:子字符串;

返回:true表示字符串包含子字符串,false表示字符串不包含子字符串;

String str=“java is cool”;

System.out.println(str.contains(“java”));//true

System.out.println(str.contains(“are”));//false

(4)startsWith()方法

作用:判断当前字符串中是否以指定子字符串开头;

参数:子字符串;

返回:true表示字符串用子字符串开头,false表示字符串没有用子字符串开头;

String str=“java is cool”;

System.out.println(str.startsWith(“java”));//true

System.out.println(str.startsWith(“is”));//false

(5)endsWith()方法

作用:判断当前字符串中是否以指定子字符串结尾;

参数:子字符串;

返回:true表示字符串用子字符串结尾,false表示字符串没有用子字符串结尾;

String str=“java is cool”;

System.out.println(str.endsWith(“cool”));//true

System.out.println(str.endsWith(“is”));//false

(6)compareTo()方法

作用:比较两个字符串的大小;

比较规则:先比较对应的ASCII码的值(英文字符)或Unicode码的值(汉字),如果比较的字符一致,再比较两个字符串的长度"差";

参数:需要比较的另一个字符串;

返回:①正数:该字符串大于传入字符串;②零:该字符串等于传入字符串;③负数:该字符串小于传入字符串;

String str=“BBB”;

System.out.println(str.compareTo(“BBA”));//输出:1

System.out.println(str.compareTo(“BBC”));//输出:-1

字符串的基本方法

(1)length()方法

作用:计算字符串的长度;

参数: 无;

返回:字符串的长度(int型);

String str=“hello”;

System.out.println(str.length());//输出:5

(2)isEmpty()方法

作用:判断字符串是否为空(字符串长度为0);

参数:无;

返回:true字符串为空,false字符串不为空;

String str1="";

System.out.println(str1.isEmpty());//true

String str2="";

System.out.println(str2.isEmpty());//false

(3)charAt()方法

作用:按照下标位置获取对应字符;

参数:下标位置(下标在0——(字符串长度-1)的范围之内);

返回:该下标对应的字符串中的字符值;

String str=“AnAppleaDay”;

System.out.println(str.charAt(4));//输出:p

(4)indexOf()方法

作用:查找子字符串在字符串中首次出现的位置;

参数:①子字符串,从下标为0开始查找;②子字符串,开始下标,从开始下标位置开始查找;

返回:找到返回下标位置,未找到返回一个负数;

String str=“An Apple a Day”;

//从下标为0的位置开始查找

System.out.println(str.indexOf(“a”));//输出:9

//从第二个下标位置开始查找

System.out.println(str.indexOf(“A”,2));//输出:3

(5)lastIndexOf()方法

作用:查找子字符串在字符串中最后一次出现的位置;

参数:子字符串;

返回:找到返回下标位置,未找到返回一个负数;

String str=“An Apple a Day”;

//从下标为0的位置开始查找

System.out.println(str.indexOf(“A”));//输出:0

//返回最后一次出现的下标

System.out.println(str.lastIndexOf(“A”));//输出:3

字符串的转换方法

(1)toCharArray()方法

作用:将字符串转换为字符数组;

参数:无;

返回:该字符串对应的字符数组;

String str=“Hello”;

char[] ch=str.toCharArray();

System.out.println(Arrays.toString(ch));//输出:[H, e, l, l, o]

(2)toUpperCase()方法

作用:将字符串中的小写转化为大写;

参数:无;

返回:转化后的字符串;

String str=“Hello”;

System.out.println(str.toUpperCase());//输出:HELLO

(3)toUpperCase()方法

作用:将字符串中的大写转化为小写;

参数:无;

返回:转化后的字符串;

String str=“HELLo”;

System.out.println(str.toLowerCase());//输出:hello

字符串的其他方法

(1)split()方法

作用:按照指定的字符串对原字符串进行切割;

参数:指定字符串(如果包含特殊含义的字符要进行转义);

返回:字符串数组(包含切割后的子字符串);

String str=“AAA-BBB-CCC-DDD”;

String[] str1=str.split("-");

//使用"-"将str分割成字符数组

System.out.println(Arrays.toString(str1));//输出:[AAA, BBB, CCC, DDD]

(2)replace()方法

作用:替换全部子字符串;

参数:子字符串,替换字符串;

返回:替换后的新字符串;

String str=“An Apple A Day”;

//将str中的A全部替换成a

System.out.println(str.replace(“A”, “a”));//输出:an apple a Day

(3)replaceFirst()方法

作用:替换第一个子字符串;

参数:子字符串,替换字符串;

返回:替换后的新字符串;

String str=“An Apple A Day”;

//将str中的A全部替换成a

System.out.println(str.replaceFirst(“A”, “a”));//输出:an Apple A Day

(4)trim()方法

作用:去除字符串左右两边的空格;

参数:无;

返回:去除左右两边空格后的字符串;

String str=" An Apple A Day ";

//去除str左右两端的全部空格,不影响中间空格

System.out.println(str.trim());//输出:An Apple A Day

(5)intern()方法

作用:判断字符串是否在字符串常量池,在返回常量池中的字符串引用,不在将新字符串放入字符串常量池并返回其引用;

参数:无;

返回:字符串常量池中的字符串;

String str=“AAA”;

//AAA在字符串常量池中,直接返回AAA

System.out.println(“AAA”.intern());//输出:AAA

//BBB不在字符串常量池中,先在字符串常量池中写入BBB,再返回BBB

System.out.println(“BBB”.intern());//输出:BBB

以上就是对String中方法的介绍,仅代表个人观点,若有不对的地方望大佬们多多指正。

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

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

相关文章

qt作业day2

//widget.cpp#include "widget.h" #include "ui_widget.h"void Widget::usr_login() {if("admin" this->edit_acc->text()){if("123456" this->edit_psd->text()){speech->say("登录成功");emit jump_sig1…

Scientific discovery in the age of artificial intelligence

人工智能时代的科学发现 摘要 人工智能(AI)正越来越多地融入科学发现,以增强和加速研究,帮助科学家产生假设,设计实验,收集和解释大型数据集,并获得仅使用传统科学方法可能无法获得的见解。在这里,我们研究…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

Win11搭建 Elasticsearch 7 集群(一)

一: ES与JDK版本匹配一览表 elasticsearch从7.0开始默认安装了java运行环境,以便在没有安装java运行环境的机器上运行。如果配置了环境变量JAVA_HOME,则elasticsearh启动时会使用JAVA_HOME作为java路径,否则使用elasticsearch根目…

【录用案例】CCF-C类,1/2区SCIEI,3个月14天录用,30天见刊,11天检索

计算机科学类SCI&EI 【期刊简介】IF:5.5-6.0,JCR1/2区,中科院2区 【检索情况】SCI&EI 双检(CCF-C类) 【征稿领域】边缘计算、算法与机器学习的结合研究 录用案例:3个月14天录用,录用…

Android lint配置及使用

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、将 lint 配置为不显示警告3.1 在 A…

【TSN】(一)中英译文

【Two Stream Net】 一,双语翻译 文章目录 【Two Stream Net】Abstract1 Introduction1.1 Related work 2 Two-stream architecture for video recognition3 Optical flow ConvNets3.1 ConvNet input configurations3.2 Relation of the temporal ConvNet archite…

论文阅读 (100):Simple Black-box Adversarial Attacks (2019ICML)

文章目录 1 概述1.1 要点1.2 代码1.3 引用 2 背景2.1 目标与非目标攻击2.2 最小化损失2.3 白盒威胁模型2.4 黑盒威胁模型 3 简单黑盒攻击3.1 算法3.2 Cartesian基3.3 离散余弦基3.4 一般基3.5 学习率 ϵ \epsilon ϵ3.6 预算 1 概述 1.1 要点 题目:简单黑盒对抗攻…

mybatis-plus 常用API 详解

今天分享常用API: 1、排序&#xff1a; // 组装查询条件 QueryWrapper<User> wrapper new QueryWrapper<>(); // 按 id, age 字段进行升序 wrapper.orderBy(true, true, "id", "age");// 实际执行 SQL : SELECT id,name,age,gender FROM us…

Docker 概念构成

0 概述 构成原理 Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK与 Docker 的守护进程通信。Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。Docker Hub 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多…

E5071C是德科技网络分析仪

描述 E5071C网络分析仪提供同类产品中最高的RF性能和最快的速度&#xff0c;具有宽频率范围和多功能。E5071C是制造和R&D工程师评估频率范围高达20 GHz的RF元件和电路的理想解决方案。特点: 宽动态范围:测试端口的动态范围> 123 dB(典型值)快速测量速度:41毫秒全2端口…

YOLOV8从零搭建一套目标检测系统(修改model结构必看)附一份工业缺陷检测数据集

目录 1.YOLOV8介绍 2.YOLOV8安装 2.1环境配置 3.数据集准备 1.YOLOV8介绍 Yolov8结构图&#xff1a; YoloV8相对于YoloV5的改进点&#xff1a; Replace the C3 module with the C2f module. Replace the first 6x6 Conv with 3x3 Conv in the Backbone. Delete two Convs …

ES6 字符串的repeat()方法

repeat() 方法返回一个新字符串&#xff0c;表示将原字符串重复n次 格式&#xff1a;str.repeat(n) 参数n&#xff1a;str需要重复多少次 参数n的取值&#xff1a; n是正整数&#xff1a; x.repeat(3) // 输出结果&#xff1a;"xxx" hello.repeat(2) // 输出结果…

Linux socket网络编程实战(tcp)实现双方聊天

在上节已经系统介绍了大致的流程和相关的API&#xff0c;这节就开始写代码&#xff01; 回顾上节的流程&#xff1a; 创建一个NET文件夹 来存放网络编程相关的代码&#xff1a; tcp服务端代码初步实现--上 这部分先实现服务器的连接部分的代码并进行验证 server1.c&#xff…

接口自动化测试总结

一、什么项目适合做自动化测试&#xff1f; 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&#xff0c;而脚本的维护本身就是一个代码开发的过程&#x…

【二分答案 dp】 Bare Minimum Difference

分析&#xff1a; 首先我们能够得知这个优秀值具有单调性&#xff1a; 如果一个优秀值 x 1 x1 x1能够满足题目要求&#xff0c;那么任何 x ( x > x 1 ) x(x>x1) x(x>x1)显然都能符合要求 基于这一特性&#xff0c;我们想到二分答案 直接二分这个答案好像难以维护。 …

【计算机网络】 静态库与动态库

文章目录 静态库实践使用方法总结 动态库实践使用方法总结 静态库与动态库的优缺点静态库优点缺点 动态库缺点优点 库有两种&#xff1a;静态库&#xff08;.a、.lib&#xff09;和动态库&#xff08;.so、.dll&#xff09;。所谓静态、动态是指链接。静态库是将整个库文件都拷…

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题 文章目录 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题前言全局坐标系转体坐标系速度设置X轴方向的体坐标系速度设置Y轴方向的体坐标系速度XY轴体坐标系速度整合 Z轴速度的进一步设置解决办法 小结 前言 利…

[git] 如何克隆仓库,进行项目撰写,并绑定自己的远程仓库

摘要&#xff1a;删除.git文件&#xff0c;才可重新绑定远程仓库。 具体步骤&#xff1a; 文件夹右键&#xff0c;进入”Git Bash Here“执行命令 1. 执行 ”git clone 仓库地址“&#xff0c;克隆仓库 2. 在生成的仓库中&#xff0c;删除 .git 文件 3. git init 初始化仓库…

模板方法模式

1、场景 客户到银行办理业务&#xff1a; 1、取号排队 2、办理具体现金、转账、理财业务 3、给银行工作人员评分 请客吃饭 1、点单 2、吃东西&#xff08;吃面条、吃满汉全席&#xff09; 3、买单 2、介绍 模板方法模式定义了一个操作中的算法骨架&#xff0c;将某些步骤延迟…