java里String类型可以直接赋值,保存的是值还是引用的地址? 先给你一个2113在博客园看到的说明问题1我声明了什么!5261String s=\"Hello world!许多人都做4102过这样的事情,但是,我们到底声明1653了什么?回答通常是:一个String,内容是“Hello world!这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向\"Hello world!这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。所以,如果在刚才那句语句后面,如果再运行一句:String string=s;我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。我的理解:字符串的底层真实实现,还是和C一样,用的数组来存储多个char类型的字符,所以可以理解成声明一个数组,因为数组是多个内存地址的集合,你想想,那么多地址,如果是直接赋值,该存哪个地址哇?暂时这么多,还要需要欢迎提问Java中的基本类型和引用类型变量的区别 基本类型:例如 int a=1;boolean bool=true;基本类型是具体的值。引用类型:例如 String str;boolean boo;引用类型指向内存空间的引用,是个对象。(个人理解)。java中值类型和引用类型的区别 1:Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。2:使用场合,例如说往ArrayList里面add,必须add的是Object而int不是对象,就只能把Integer添加进去3:int是基本类型,Integer是int对应的封装类,声明int a;a自动赋值0;声明Integer a;a自动赋值为null4:int是基本的数据类型integer是类int的初始值为0,不能为null,如果需要为null的时候,需要用integerjava里String类型可以直接赋值,保存的是值还是引用的地址? 首先告诉你,java里的String类型保存的就是引用地址,就像你下面说的,如果用String a=\"你好\"这种方式赋值的话,a里会保存一个地址,双引号字符串是常量字符串,在java文件编译的时候就放在虚拟机的常量池中,“你好”的真正位置也是在常量池中,另外还有一种方式:String a=new String(\"你好\"),如果这样写就和第一种不一样了,这个对象是在程序运行时创建,不是创建在常量池而是和其他java对象一样在java堆上创建,因此它的地址和第一种的不用。第二个问题,String和int直接赋值的区别。首先,最大的区别,一个是对象,一个是数值,对象可以为null,数值却必须有值,哪怕你没赋值,系统也会自动赋值为0。int b=3是直接在内存空间分配了一块空间b内容是3,b的内容是可变的,可以变为5,6…而String对象是不可变的,“你好”实际是在堆中存在的,把引用给了a,如果String a=\"bbb\"则是把另一个新的对象\"bbb\"的地址引用给了a,之前的对象“你好”是没有改变的。第三个问题,为什么引用类型赋值不能像基本数据类型呢?因为引用类型远比基本数据类型复杂啊,基本数据类型只有数值、字符、布尔三种数据类型,可以很简单得表示出来,像2、'a'、true这样,赋值也自然容易,Java 中对引用类型的变量赋值是原子操作吗 是原子性的 但是long和double除外Java值类型和引用类型,以及复制的是什么东西 java 中的数据类型分为两大类:值类型(基本数据类型)和引用类型(复合数据类型)一,值类型分为 1,整数类型(byte,short,int,long)2,浮点类型(float,double)3,布尔类型(boolean)4,字符类型(char)二,引用值类型 除了值类型外就是引用值类型了,引用值类型有1,类类型(class)2,数组 3,接口类型(interface)关于复制的是什么?我还真不知道。java 在引用类型赋值的时候怎么能不给地址?直接赋值呢? Java中的引用类型类似于指针,基本类型可以直接赋值,而引用类型是将引用指向一块内存。比如:Person p=new Person();我们都知道在Java中new的东西会在内存中开辟一块内存,左边是指向这块内存的引用。我理解中你说的直接赋值应该是类似于:int i=1;double b=2;boolean a=false;这种是因为他们是基本类型,不算是一个对象。曾经在一本书上看到过,如果Java直接舍弃这些基本类型,可能会是一门更加纯粹的OOP语言。·java中 引用 和 赋值 有哪些区别? 引用是用一块内存指向另一块内存!一般引用中的内容是一个内存地址!而 赋值是把自己内存中的内容拷贝到指定的内存中!其中可以是内存地址也可以是数据(比如java中基本类型的值)java里String类型可以直接赋值,保存的是值还是引用的地址? 首先告诉你,java里的String类型保存的就是引用地址,就像你下面说的,如果用String a=\"你好\"这种方式赋值的话,a里会保存一个地址,双引号字符串是常量字符串,在java文件java基本类型和引用类型变量 是什么? 上两次课我们知道了,java语言中的两种数据类型。这节课呢,我们对上两次课做一个补充,也加深一下理论知识的学习。理论的东西是很有用的啊。这节课介绍基本类型变量和引用
随机阅读
- 暖气压差阀工作原理 供暖管道上的平衡阀有什么作用
- 氧化剂是失氧 一个氧化剂和还原剂的口诀:1:升 — 失 — 氧 — 还
- 一粒一粒豌豆糕做法 豌豆面做的豌豆糕
- 亓官氏苹果醋片 苹果醋片怎么吃
- 浠水实验中学什么时候开学 浠水实验中学曾新峰
- 毛家桥水果市场大火 长沙开福区毛家桥水果市场哪些公交车到
- 传达文件目录表 这份文件传达的是什么意思工商局给的
- 酸使红色石蕊试纸 红色石蕊还是红色石蕊试纸?????遇到酸遇到碱分别怎么变
- 去水上乐园玩要自己带泳衣吗,还是乐园有泳衣买的, 汇雅水乐园
- 大连北站到达保定东站的高铁途径瓦房店站是几点 石家庄高铁站到瓦房店高铁站
- 呼吸能量和水分多少钱 sum37呼吸时光能量怎么样?会不会油?水分惊喜哪个好?油皮
- 西气东输三线的情况 西气东输四线甘肃
- 广东江门新会双水邮编 广东省江门市新会区双水镇双水墟丰华工业园邮编是什么?
- 鹤壁市与淇县纣王殿村距离 纣王的都城在朝歌,而朝歌在河南淇县,怎么殷墟遗址在安阳?
- 为什么沙特和巴基斯坦的关系这么铁? 谢里夫侯塞因
- 六氢化二硼属于什么点群 六氢化二铝是否具有还原性?为啥?
- 办上海市市区货运车通行证需具备哪些条件 上海市内通行证的车辆
- 过氧化氢和氢化硫反应 过氧化氢与硫化氢反应生成什么?
- 你去过东北的兴凯湖吗?谈谈你的旅行心得体会? 3图同兴路小桥上品
- 去学校开家长会没人愿意坐我旁边 你好,我在学校被语言暴力,没有人愿意靠近我,我告诉过老师,但对方捏造事实让老师觉得是我的问题,老师也