首页 >Java >Java入门 > 正文

java中String类有什么特点

转载2020-08-01 16:46:5001143

特点:

(推荐教程:java入门教程

1、String类是被final修饰的,是不能被继承的。

2、String类底层使用数组结构。jdk9以前使用的是char[],jdk9以后使用的是byte[]。

3、String的对象一旦创建就不能修改,底层维护了一个字符串常量池,实现共享。

注意:String类的对象每次修改都会产生一个新的对象。

(视频教程推荐:java视频教程

String对象的拼接

常量池中的字符串常量 + 常量池中的字符串常量 :结果是存储在常量池中

String c = "a"+"b";
String ab = "ab";
System.err.println(ab==c); //输出true123

变量 + 常量池中的字符串常量 : 结果是存储在堆中的

String a = "a";
String c = "a"+"b";
System.err.println(c==a+"b"); //输出false123

如果拼接结果调用intern()方法,返回值就在常量池中

String a = "a";
String b = "b";
String c = "a"+"b";
System.err.println(c==a+b); //输出false,证明String类的拼接中只要有一个是变量,结果就存在堆中
String a = "a";
String b = "b";
String c = "a"+"b";
System.err.println(c==(a+b).intern()); //输出true,说明如果拼接结果调用intern()方法,返回值就在常量池中

以上就是java中String类有什么特点的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:java String
  • 本文转载于:csdn,如有侵犯,请联系a@php.cn删除
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • String是被final修饰的,是不能被继承的;String底层使用数组结构;String的对象一旦创建就不能修改,底层维护了一个字符串常量池,实现共享。
    java静态代码块的:1、静态代码块随着的加载而执行,只执行一次,并优先于主函数;2、用于给进行初始化;3、一个可以写多个静态代码块。
    java常见面试题:1、JDK和JRE区别?2、==和equals的区别是?3、final在java作用?4、String属于基础的数据型吗?5、如何将字符串反转?
    Java的泛型是 ? 使用泛型的好处是?Java的泛型是如何工作的 ? 型擦除 ?如何工作?
    1、java==和equals和hashCode的区别 ; 2、int与integer的区别 ; 3、String、StringBuffer、StringBuilder区别 ; 4、是内部

    2019-12-04

    1625

    Java语言是一种分布式的面向对象语言,具面向对象、平台无关性、简单性、解释执行、多线程、安全性、分布式、健壮性、高性能等很多
    一个".java"源文件是否可以包括多个(不是内部)?限制?Javagoto?说说&和&&的区别。在JAVA如何跳出当前的多重嵌套循环?
    本文为大家分享了几道Java经典面试题,具一定的参考价值,希望可以帮助到大家。java集合和数组的
    java入门教程:本文为大家介绍了Javaclass与Class区别,具一定的参考价值,希望可以帮助到大家。class是Java的关键字,在声明时使用。
    java的抽象可以被继承。抽象只是一个殊的,但是也具备性。如果这个抽象方法,那这个必须定义为抽象
    java对象拷贝常见面试题:为要使用克隆?如何实现对象克隆?深拷贝和浅拷贝区别是?想对一个对象进行处理,又想保留原的数据进行接下来的操作,就需要克隆了,Java语言克隆针对的是的实例。
    redis该缓存数据跟项目需要处理的数据相关,Redis可以缓存数据5种,分别是String(字符串)、List(列表)、Hash(哈希)、Set(无序,不重复集合)、ZSet(sorted
    抽象:1、抽象可以构造方法;2、抽象可以方法和构造方法。接口的:在接口方法的声明,没方法体;2、在接口常量;3、接口可以被多继承。
    本文由java语言入门栏目为大家介绍抽象与普通、接口的区别分别是,希望可以帮助大家更好地理解这几个概念。
    java的方法不是对象,方法指的是对象具的某种具体行为,而对象指的是某一个的一个具体实例。例如:把人看做一个,方法就是某种人的具体行为解释,而对象则表示具体到人。
    java入门教程:本文为大家介绍了Java的Scanner的作用及使用方法,具一定的参考价值,希望可以帮助到大家。Scanner是用来获取用户在控制台输入的字符串的。
    学习PHP半个月了。每天都要打代码and写笔记。学过C和Java,在学习PHP的过程比较顺利吧(^-^)代码打得越多,运行得越多,慢慢得会对程序理解得越深。下面就讲讲我学习PHP的心得。
    抽象工厂模式的优:1、抽象工厂模式隔离了具体的生产,使得客户并不需要知道被创建;2、当一个产品族的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族的对象。
    java抽象和接口的区别:1、抽象使用abstract关键字修饰,接口使用interface关键字修饰;2、抽象可以不包含抽象方法,接口的方法全部是抽象方法。
    本文来自java入门教程,文为大家介绍了java包装型与基本数据型的异同,具一定的参考价值,希望可以帮助到大家。基本型不需要通过new关键字来创建,包装需要new关键字。

    专题推荐

    推荐视频教程
  • 极客学院Java视频教程极客学院Java视频教程
  • JAVA 初级入门视频教程JAVA 初级入门视频教程
  • 全面解析Java注解全面解析Java注解
  • 最新Java完整视频教程最新Java完整视频教程
  • 视频教程分类