首页 > 编程语言 >java字符串String类的常用方法

java字符串String类的常用方法

时间:2023-08-12 15:31:52浏览次数:56  
标签:java String System println str 字符串 out

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


标签:java,String,System,println,str,字符串,out
From: https://blog.51cto.com/u_16207938/7059466

相关文章

  • java opencv绘制工字型
    javaopencv绘制工字型 packagecom.vfsd.core;importjava.util.ArrayList;importjava.util.List;importorg.opencv.core.Core;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.Point;importorg.opencv.core.Rect;importorg......
  • Python教程(7)——一文弄懂Python字符串操作(上)|字符串查找|字符串分割|字符串拼接|
    (Python字符串操作)字符串简介在计算机编程中,字符串是由字符组成的字节序列。在Python中,字符串是表示文本数据的数据类型,由一系列Unicode字符组成。字符串可以包含字母、数字、标点符号、空格以及其他特殊字符。实际工作当中,接触最多的可能就是字符串了。字符串也是Python中最......
  • Python教程(7)——一文弄懂Python字符串操作(上)|字符串查找|字符串分割|字符串拼接|
    目录字符串简介字符串查找使用in关键字使用find()方法使用index()方法使用正则表达式字符串替换使用replace()方法使用正则表达式使用字符串模板字符串分割字符串拼接使用加号(+)运算符使用字符串的格式化方法使用f-string(格式化字符串)使用字符串的join()方法字符串......
  • java解析xml获取节点的属性
    1、java解析xml中返回的数据???2、java中dom4j解析xml文件怎么获取节点属性3、详解Java解析XML的四种方法4、使用Java自带SAX工具解析XML5、Java解析XML的几种方法java解析xml中返回的数据???JDOM生成和解析XML为减少DOM、SAX的编码量,出现了JDOM优点:20-80原则,极大减少......
  • 【Java】智慧工地源码-支持私有化部署,SaaS模式+全套硬件设备
    智慧工地硬件设备包括:AI识别一体机、智能广播音响、标养箱、塔机黑匣子、升降机黑匣子、吊钩追踪控制设备、扬尘监测设备、喷淋设备。1.什么是AI危险源识别AI危险源识别是指基于智能视频分析技术,对视频图像信息进行自动分析识别,以实时监测危险区域的人员闯入、靠近等危险行为,从......
  • Java | 如何学习Java
    1、确定需求工作需要跳槽,对方要求技术控2、看看能否使用传统技术解决能解决,但是不能完美的解决完全解决不了3、引出我们学习的新技术和知识点4、学习新技术或者知识点的基本原理和基本语法(不要考虑细节)5、快速入门(基本程序,crud)6、开始研究技术的注意事项(重中之重)......
  • 【面试题】 JavaScript中高级语法--?? 表达式 的作用
    前言在JavaScript中,双问号(??)表达式是一种非常有用的方法。它的作用是用来检测一个值是否为null或undefined。如果该值为null或undefined,那么双问号表达式会返回一个默认值。下面我们就来具体探究一下双问号表达式的用法,以及它与其他相似方法的区别。具体用法。其实,双问号表达式就是......
  • Java源码解析-重点集合框架篇
    Java源码解析,集合篇一:故事背景二:数据结构2.1线性结构2.2非线性结构三:集合分类3.1结构图四:详细分析4.1List4.1.1ArrayList4.1.1.1底层结构4.1.1.2主要特点4.1.2LinkedList4.1.2.1底层结构4.1.2.2主要特点4.1.3Vector和Stack4.1.3.1Vector4.1.3.1Stack五:总结提升一:故......
  • 欢迎大家加入JAVA技术开发讨论
    最近加了一些java的开发群,感觉每个群的技术氛围都不浓厚,很多问题出来后,根本没人理会。想现在建立一个技术氛围浓厚的java技术问答群,欢迎有兴趣的同学加入。近期也汇总了一些觉得不错的资料,欢迎大家一起进步学习!注:本群不收费,也不做广告推广,仅技术交流。加群方式:点击链接获......
  • Java学习笔记(八)
    6.3 多态6.3.1 多态的概念1、什么是多态?多态:多种形态,多种类型的形式两个角度:(1)一个父类的变量,可以赋值给它各种子类的对象换句话说,一个父类的变量,可以在运行时体现为多种不同的子类对象==>编译时都是父类类型的变量,运行时是各种子类的对象类型(2)一个子类对象,可以赋值给不同......