网易首页 > 网易号 > 正文 申请入驻

Java中字符串定义,初始化,赋值为null的区别

0
分享至

1、概述:

字符串定义 只定义不分配内存空间,不做任何操作;

字符串初始化 两种方式直接等号赋值,用new初始化,直接等号赋值放入内存池,其它变量也可以引用;new初始化分配内存空间,不可引用;

字符串赋值为null 初始化了,并且有了引用,但是没有指向任何内存空间;

2、详解:

String s;和String s=null;和String s="a";有什么区别?

第一个只是定义了一个String类型变量s,并没有给它赋初值,在Java中,默认在使用一个变量的时候必须赋予它初值(降低风险)。

第二个和第三个都定义了String类型变量s,并赋予它初值,只不过第二个赋予的值为null(空)罢了

主要要理解的是

String s; s为一个引用~~它不是对象

第一个是没有初始化的引用;

第二个为空引用;

第三个是在字符串池里写入一个字符'a',然后用s指向它。

String s;只是给s分配一个内存空间

String s=null;是分配的空间中存储的值为空值

String s="a";这句就不用我多说了分配的空间的值为字符a

特别关注:String s="a"和String s=new String("a");是有本质上的区别的

前者是在字符串池里写入一个字符'a',然后用s指向它;

后者是在堆上创建一个内容为"a"的字符串对象。

1、双引号的方式

String x = abcd;

String y = abcd;

System.out.println(x==y);//true

System.out.println(x.equals(y));//true

上面的输出结果:

x==y 的结果为true 是因为通过双引号赋值的方式之后,x 和 y 都是指向同一个内存地址,他们的引用都是指向方法区中的同一个内容,引用地址是一样的, 当同一个String字面值无论被创建多少次,始终只有一个内存地址被分配,之后的都是这个String的拷贝,Java中称作“字符串驻留”,所有的字符串常量在编译之后都会自动的驻留。x = abcd这种方式创建的时候首先会查看字符串池中是否已经存在,存在就直接返回PermGen中的该String对象,否则就会创建一个新的String对象,之后再放进字符串池中。

JVM里,考虑到垃圾回收(Garbage Collection)的方便,将 heap 划分为三部分: young generation (新生代)、 tenured generation(old generation)(旧生代)和 permanent generation( permgen )(永久代)

字符串池是为了解决字符串重复的问题,生命周期长,它存在于 permgen 中。

编译 Java 源代码时,源文件中出现的双引号内的字符串都被收纳到常量池中,用 CONSTANT_utf8_info 项存储着。

JVM 中,相应的类被加载运行后,常量池对应的映射到 JVM 的运行时常量池中。其中每项 CONSTANT_utf8_info(也就试记录那些字符串的)都会在常量引用解析时,自动生成相应的 internal String,记录在字符串池中。

2、构造器的方式

String a = new String(abcd);

String b = new String(abcd);

System.out.println(a==b);//false

System.out.println(a.equals(b));//true

上面代码运行结果:

a==b 为false 是因为通过new 构造器的方法创建之后,在heap堆中分别分配了两个内存地址。a 和 b 分别指向了堆中的两个不同的对象,不同的对象就会有不同的地址分配。

下面这张图就很好的阐述了上面的两种情况:

关注微信公众号和今日头条,精彩文章持续更新中。。。。。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
太震撼了!郭有才一场直播打赏6000万,按照平台的换账规则

太震撼了!郭有才一场直播打赏6000万,按照平台的换账规则

愤怒的猫的怒火之路
2024-05-19 17:12:04
曝45岁伏明霞离婚,净身出户原因揭晓,71岁百亿丈夫只说6个字

曝45岁伏明霞离婚,净身出户原因揭晓,71岁百亿丈夫只说6个字

深度知局
2024-05-20 19:25:53
辽宁头号功臣:弗格34分中制胜三分冲FMVP 让最佳主帅蒙羞

辽宁头号功臣:弗格34分中制胜三分冲FMVP 让最佳主帅蒙羞

厝边人侃体育
2024-05-20 21:36:33
泽连斯基说:曾饱受俄罗斯侵略的大国,居然在积极的支持俄罗斯!

泽连斯基说:曾饱受俄罗斯侵略的大国,居然在积极的支持俄罗斯!

翻开历史和现实
2024-05-20 12:47:08
伊朗的水,深不见底

伊朗的水,深不见底

格隆汇
2024-05-20 21:49:20
很严重了,我劝大家极限存钱吧,从五一之后

很严重了,我劝大家极限存钱吧,从五一之后

送你一程
2024-05-20 09:06:57
新加坡总理李显龙:“中国不会是世界上最强大的国家”

新加坡总理李显龙:“中国不会是世界上最强大的国家”

铁山学者
2024-05-19 20:39:00
后续!江西小学伤人案致2死10伤!凶手已被抓,知情人曝更多内幕

后续!江西小学伤人案致2死10伤!凶手已被抓,知情人曝更多内幕

古希腊掌管松饼的神
2024-05-20 18:06:12
院士称90%以上主流大模型不可信!此前也有院士表达不满:中国90%的大模型该被淘汰!

院士称90%以上主流大模型不可信!此前也有院士表达不满:中国90%的大模型该被淘汰!

可达鸭面面观
2024-05-20 18:11:00
令人心寒!中超传奇球星遭羞辱,球迷:赶紧滚!他连10万块都不值

令人心寒!中超传奇球星遭羞辱,球迷:赶紧滚!他连10万块都不值

国足风云
2024-05-20 20:22:06
中国一旦进入战争,这些数字告诉你,只有一个结论:缴械投降

中国一旦进入战争,这些数字告诉你,只有一个结论:缴械投降

蓝婉莹
2024-05-12 02:22:39
一觉醒来,伊朗发生重大事件

一觉醒来,伊朗发生重大事件

牛弹琴
2024-05-20 07:20:13
国务委员谌贻琴,多了一个新身份

国务委员谌贻琴,多了一个新身份

政知新媒体
2024-05-20 20:21:43
伊朗总统直升机“出事”,如果排除意外可能是哪些势力所为?

伊朗总统直升机“出事”,如果排除意外可能是哪些势力所为?

点评校尉
2024-05-20 10:55:24
尘埃落定!王健林无法逃脱法律制裁万达集团被大连法院强制执行

尘埃落定!王健林无法逃脱法律制裁万达集团被大连法院强制执行

美人茶话会
2024-05-20 12:59:46
为什么男人那个只有不到10cm,反而却如此幸福呢?原来这才是真相

为什么男人那个只有不到10cm,反而却如此幸福呢?原来这才是真相

小绿说故事
2024-05-20 17:42:46
大瓜! 黄圣依直播意外走光!隐私部位一览无遗,网友: 脸都不要了

大瓜! 黄圣依直播意外走光!隐私部位一览无遗,网友: 脸都不要了

阿芒娱乐说
2024-05-21 00:41:28
贾跃亭:将助乐视电视重回巅峰!乐视员工喊话贾跃亭:我们想你,大家都羡慕乐视,没有996没有内卷

贾跃亭:将助乐视电视重回巅峰!乐视员工喊话贾跃亭:我们想你,大家都羡慕乐视,没有996没有内卷

和讯网
2024-05-20 17:40:33
5月20日夜晚,突然发生一个重大消息!或将产生重大级别影响?

5月20日夜晚,突然发生一个重大消息!或将产生重大级别影响?

股市皆大事
2024-05-20 20:05:17
史诗级楼市政策下,普通人的8个困惑

史诗级楼市政策下,普通人的8个困惑

吴晓波频道
2024-05-18 08:30:23
2024-05-21 04:24:49
非常美丽的句子12138
非常美丽的句子12138
每天分享有趣的视频
6063文章数 10254关注度
往期回顾 全部

科技要闻

理想 Q1营收同比增长36% 交付指引不及预期

头条要闻

媒体:与蔡英文8年前相比 赖清德就职讲话出现大倒退

头条要闻

媒体:与蔡英文8年前相比 赖清德就职讲话出现大倒退

体育要闻

8年半,讲不出再见

娱乐要闻

王俊凯现身蔡依林演唱会,牵手唱歌!

财经要闻

韵达快递乱象:管理以罚代管 新政落地难

汽车要闻

智驾升级/月底上市 问界新M7 MAX焕新版

态度原创

游戏
亲子
时尚
数码
公开课

为了避免浪费玩家时间 樱井政博曾放弃使用杜比环绕声

亲子要闻

成熟的宝宝已经会哄自己睡觉了,娃:自己哄自己吧,指望不上妈妈了

今年最流行的衬衫穿法,越帅越时髦!

数码要闻

联想今夏将发布两款高通方案笔记本:第九代Yoga Slim和ThinkPad T14s第六代

公开课

父亲年龄越大孩子越不聪明?

无障碍浏览 进入关怀版