栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

String概述、常见构造方法、特点以及遍历案例分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String概述、常见构造方法、特点以及遍历案例分析

  1. String

String类在Java.lang包下,使用时不需要导包;String类代表字符串,

Java程序中,所有的双引号字符串,都是string这个类的对象;

字符串是常量,它们的值在创建之后就不能更改了;

2、String常见构造方法

方法名

说明

Public String()

创建一个空白字符串对象,不含有任何内容

Public String(char[ ] chs)

根据字符数组的内容,来创建字符串对象

Public String(String original)

根据传入的字符串内容,来创建字符串对象

String s=”abc”

直接赋值的方式创建字符串对象,内容是abc

注意:String这个类比较特殊,打印其对象名时,不会出现内存地址;而是该对象所记录的真实内容;面向对象-继承,object类;

3、创建字符串对象的区别对比

注意:==号作比较;

基本数据类型:比较的是具体的值;

引用数据类型:比较地址值;

A.以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个string对象,并在字符串常量池中维护;

例如:String s1=”abc”;

String s2=”abc”;

字符串常量池:当使用双引号创建字符串对象时,系统会检查该字符串是否在字符串常量池中存在;如果不存在:创建;如果存在:不会重复创建,而是直接复用;

注意:字符串常量池在JDK7版本开始从方法区中挪到了堆内存;

B.通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同。

例如:

   

4、String字符串特点

Java程序中所有的双引号字符串,都是String类的对象;

字符串不可变,它们的值在创建后不能被更改;

虽然String的值是不可变的,但它们可以被共享;这里的共享说的是字符串常量池:当使用双引号创建字符串对象时,系统会检查该字符串是否在字符串常量池中存在;如果不存在:创建;如果存在:不会重复创建,而是直接复用;

情况1:

情况2:

情况3:

情况4:

5、字符串的比较

使用==作比较

基本类型:比较的是数据值是否相同;

引用类型:比较的是地址值是否相同;

字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这种方法叫equals();

Public Boolean equals(Object anObject):将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串;

还有一个比较内容的方法,不考虑大小写:

案例1:用户登录

已知用户名和密码,用程序实现模拟用户登录,总共给三次机会,登录之后,给出相应的提示;

案例2:遍历字符串

第一种方法:

第二种方法:

案例3:键盘录入字符串,统计字符串中大写、小写,数字字符串出现的次数;

案例4:以字符串的形式从键盘接收一个手机号,中间四位屏蔽;

截取字符串:

String substring(int beginIndex):

从传入的索引位置处,向后截取,已知截取到末尾,得到新的字符串并返回;

String substring(int beginIndex,int endIndex):

从beginIndex索引位置开始截取到endIndex索引位置结束,得到新字符串并返回(包含头,不包含尾部);

案例5:键盘录入字符串,替换敏感词

替换敏感词:String replace(CharSequence target,CharSequencereplacement)

将当前字符串中的target(被替换的旧值)内容,使用replacement(替换的新值)进行替换返回新的字符串;

案例6:切割字符串

字符串录入学生信息,切割出有效信息;

String[] split(String regex):根据传入的字符串作为规则进行切割,将切割后的内容存入字符串数组中,并将字符串数组返回;

一般封装数据需要创建要给包:domain;(书写规范)

String方法小结:

方法名

说明

public Boolean equals(ObjectanObject)

比较字符串的内容,严格区分大小写

public Boolean equalsIgnoreCase(String anotherString)

比较字符串的内容,忽略大小写

public int length()

返回此字符串的长度

public char charAt(int index)

返回指定索引处的char值

public char[ ]toCharArray()

将字符串拆分为字符数组后返回

public String substring(int beginIndex,int endIndex)

根据开始和结束索引进行截取,得到新的字符串(包含头,不包含尾)

public String substring(int beginIndex)

从传入的索引处截取,截取到末尾,得到新的字符串

public String replace(CharSequence target,CharSequencereplacement)

使用新值,将字符串中的旧值替换,得到新的字符串

public String[] split(String regex)

根据传入的规则切割字符串,得到字符串数组

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820138.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号