首页 > 其他分享 >[2022.10.23]String的不可变性

[2022.10.23]String的不可变性

时间:2022-10-23 22:02:21浏览次数:84  
标签:String out System println 字符串 可变性 2022.10 赋值

final关键字代表最终、不可改变的

常见四种用法: 1. 可以用来修饰一个类(不能有任何子类) 2. 可以用来修饰一个方法(最终方法,不能被覆盖重写) 3. 还可以用来修饰一个局部变量 (对于基本类型来说,不可变说的是变量当中的数据不可改变 对于引用类型来说,不可变说的是变量当中的地址值不可改变) 4. 还可以用来修饰一个成员变量 成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值。 对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。   string是一个final类,代表不可变的字符序列  
//string类的使用
public class stringtest {
    public void test1(){
        String s1="abc";
        String s2="abc";
        s1="hello";

        System.out.println(s1);//abc
        System.out.println(s2);//hello

        System.out.println("*****************");

        String s3="abc";
        s3+="def";
        System.out.println(s3);//abcdef
        System.out.println(s2);
        System.out.println("*****************");


    }

}

暂时代替


String:字符串,使用一对""引起来表示。

1.String声明为于final的,不可被继承
2.String实现了Serializable接口:表示字符串是支持序列化的
        实现了Comparable接口:表示String可以比较大小
3.String内部定义了final char[ ] value用于存储字符串数据
4.String:代表不可变的字符序列。简称:不可变性。
    体现:
        1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值
        2.当对现有的字符串进行连接操作时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值
        3.当调用String的replace()方法修改指定字符或字符串时,也需要重新指定内存区域
5.通过字面量的方式(区别于new〉给一个字符串赋值,此时的字符串值声明在字符串常量池中。
6.字符串常量池中是不会存储相同内容的字符串的。

标签:String,out,System,println,字符串,可变性,2022.10,赋值
From: https://www.cnblogs.com/phantomcarrot/p/16819711.html

相关文章

  • 2022.10.23每日一题
    任务分配题目描述你有\(n\)个任务,其中第\(i\)个任务,在\(s_i\)开始,\(e_i\)时刻结束,如果做这个任务,你能获得\(w_i\)的收益。但是你在一个时刻只能做一个任务,问选......
  • toString()和valueOf的区别
    说明toString()valueOf()这两个方法几乎出现在js中所有类型对应的内置对象的原型上(null和undefined除外),它们的出现解决了值运算的问题,但也出现了隐式转换这个让人头疼的......
  • Leetcode第1768题:交替合并字符串(Merge Strings Alternately)
    解题思路:使用两个指针i和j分别指向两个字符串首位。循环中一次进行如下判断及操作:如果i没有超出word1的长度,就将word[i]加入返回结果中。然后i指针后移一位。如果j没有......
  • 【公告】布客社区公告 2022.10
    布客社区将花N年时间转型为DAO翻译和整理合并为一个工作流(同一段时间只做一个),并且按照编程、玄学、两性、财务顺序轮替。高校课件整理与备份计划正式开始,感谢github上各......
  • 【闲话】2022.10.23
    今天没有考试于是赫了些DP题每日一(?)图密码是咱最喜欢的番二度提示:我们一日日……记得第一个字母大写怎么登不上SPOJ啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊今......
  • 2022.10.22
    总算能抽出点时间出去玩玩了睡完午觉,大概下午三点起床,又磨磨蹭蹭到4点。看了看等车来和地图,决定先坐15路到官渡桥东,然后坐5路车直达等车等到4点半,又坐车坐了一个多小时,大......
  • String,Number,Boolean
    String<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content=......
  • [LeetCode] 1768. Merge Strings Alternately
    Youaregiventwostrings word1 and word2.Mergethestringsbyaddinglettersinalternatingorder,startingwith word1.Ifastringislongerthantheot......
  • #yyds干货盘点#Arraybuffer转String
    ​​ArrayBuffer​​ 对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图(​​TypedArray​​视图和​​DataView​​视图)来读写,视图的作用是以指定格式解读二进......
  • 【闲话】2022.10.22
    闲话今天到了酒店后的第一场考试完全不会,寄了而且这个VSCode比考试题还寄键盘手感还凑合着毕竟之前打了两把雀食磨合了一下打了三发搜,润了。骗分的事嘛,要分,不磕碜(((......