Class String

编程入门 行业动态 更新时间:2024-10-13 18:21:59

<a href=https://www.elefans.com/category/jswz/34/1769088.html style=Class String"/>

Class String

定义

字符串是不变的; 它们的值在创建后无法更改。
字符串缓冲区支持可变字符串。
因为String对象是不可变的,所以可以共享它们。

对String不可变理解

        String str = "123";String str1 = "12";int a = str1.hashCode();//此时str1与str内容相同str1 = str1+"3";//对比str与str1的哈希码值if (a == str1.hashCode()){System.out.println(true);}else{System.out.println(false);}//对比str与更改后str1的哈希码值if (str.hashCode() == str1.hashCode()){System.out.println(true);}else{System.out.println(false);}//输出为:falsetrue

如图:str存储位置与其内容一同变化

该处str1先运行到内容“12”在转至内容“123”,即执行str1 = “12” = “123”

public class Text {public static void main(String[] args) {String str = "123456";//“5”被“ ”取代后对str本身无影响,只是对其引用进行更改//并创建了新的内存地址str.replace("5"," ");System.out.println(str);//同上,并把新内容赋予旧地址str = str.replace("4"," ");System.out.println(str);}
}//输出为:123456123 56

构造方法

一、方法:比较

1pare

//按字典顺序比较两个字符串
pareTo(String anotherString);
//同上,但忽略大小写
pareTOIgnoreCase(String str);
String a = "XIA";
String b = "xia";
System.out.println(apareTo(b));
//输出为:-32
System.out.println(apareToIgnoreCase(b));
//输出为:0		

2.equals

//将此字符串与指定的对象进行比较
.equals(Object anObject);
//同上,忽略大小写
.equalsIgnoreCase(String anotherString)
String a = "XIA";
String b = "xia";
System.out.println(a.equals(b));
//输出为:false
System.out.println(a.equalsIgnoreCase(b));
//输出为:true	

3.isBlank

判断字符串是否无内容,即是否为空

//如果字符串为空或仅包含white space代码点,
//则返回true,否则false
.isBlank();
String str = "";
System.out.println(str.isBlank());
//输出为:true

4.isEmpty

判断字符串是否为零长度,即是否为空

//返回true,当且仅当.length()是0
.isEmpty();

二、方法:操作

1.concat

//将指定的字符串连接到此字符串的末尾
//与直接相加无异
.concat(String str);
        String a = "霞";String d = "洛"; System.out.println(a.concat(d));//输出为:霞洛System.out.println(a+d);//输出为:霞洛		

2.hashCode

//返回此字符串的哈希码值
.hashCode();
String str = "霞";
System.out.println(str);
//输出为:38686

3.intern

//返回字符串对象的规范表示
//将此字符串放入常量池中
.intern();

4.charAt

//返回指定索引位置的char值
String a.charAt(int index)
String a = "霞洛";
System.out.println(a.charAt(0));
//输出为:霞

5.length

//返回此字符串的长度
.length();
String a[] =new String[]{"1","2","3","4","5"};
System.out.println(a.length());
//输出为:5
String b ="最棒的你";
System.out.println(b.length());
//输出为:4

6.repeat

//返回一个字符串,并重复count次
.repeat(int count);
String a ="哈";
System.out.println(a.repeat(3));
//输出为:哈哈哈

7.replace

//返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 。 
.replace​(char oldChar, char newChar);
//将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列。 
.replace​(CharSequence target, CharSequence replacement);
//将给定替换的给定 regular expression匹配的此字符串的每个子字符串替换
.replaceAll​(String regex, String replacement);
//将给定替换的给定 regular expression匹配的此字符串的第一个子字符串替换。
.replaceFirst​(String regex, String replacement);
String a = "你是天上一轮月,我是月边陪伴的星星,今生有幸认识你。";String a ="你是天上一轮月,我是月边陪伴的星星,今生有幸认识你。";//改变所有匹配与replaceAll无异String b = a.replace("你","ni");System.out.println(b);//输出为:ni是天上一轮月,我是月边陪伴的星星,今生有幸认识ni。//只检索并改变第一个匹配值		String c = a.replaceFirst("你","ni");System.out.println(c);//输出为:ni是天上一轮月,我是月边陪伴的星星,今生有幸认识你。

8.strip

//返回一个字符串,其值为此字符串,并删除了所有前导和尾随 white space 
.strip();
//返回一个字符串,其值为此字符串,并删除了所有前导 white space
.stripLeading();
//返回一个字符串,其值为此字符串,并删除所有尾随 white space 
.stripTrailing();
String a = "      你好!      ";
System.out.println(a.strip());
//输出为:你好!

三、方法:索引

1.indexOf

//返回指定字符第一次出现的字符串中的索引
.indexOf(int ch);
//同上,但限定开始位置
.indexOf(int ch,int fromIndex);
//返回指定子字符串第一次出现的字符串中的索引
.indexOf(String str);
//同上,从指定位置开始
.indexOf(String str,int fromIndex);
//返回指定字符最后一次出现的字符串中的索引
.lastIndexOf();

3.startWith

//测试此字符串是否以指定的前缀开头
.startsWith​(String prefix);
String a ="床前明月光";
System.out.println(a.startsWith("床前"));
//输出为:true

更多推荐

Class String

本文发布于:2024-02-26 21:36:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704011.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Class   String

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!