永发信息网

java的基础问题求大神看下

答案:4  悬赏:60  手机版
解决时间 2021-04-07 18:03
java的基础问题求大神看下
最佳答案
str1==str3
str2==str5
这两个是true,下面解释下。

首先明确一下, a==b 这个表达式,只有a个b两个变量的内存地址相等,返回才是true,是内存地址,不是看上去显示的那个值。
equals比较不管地址,只要数值相等就可以返回true了

str1==str2 str1是用new String()新开辟的一个地址,str2也是新加了一个地址,这两个虽然值相等,可是地址不一样。
str1==str3,因为这个有这么一句String str3=str1;这就是将str1的地址赋给了str3,所以他们两个地址相同。
str1==str4 这两个都是通过new String()出来的,调用new String就会新开辟一个地址,所以这两个都是新开辟的,肯定地址不一致
str2==str5,这个str5穿件的时候没有new String,就会优先使用已经存在的,前面String str2="Hello";已经穿见过了,所以这次直接使用,所以他们地址是一致的追问你说的这个我明白了,那 那个equals和==有什么区别吗?追答equals 只管比较变量的值,这个直观的想就是我们平时的那种比较了,比如"aa".equals("aa");这个不管怎么比较,肯定是只能返回true;
==是不管变量值的,之比较他们引用的是不是同一个变量,也就是只看这两个变量是不是指向同一个内存地址,"aa"=="aa"这个,就不一定返回true了,这要看实际情况,如果这两个aa是来自同一个内存地址就返回true,如果这两个值是保存在内存中不同位置的,那就是返回false,就像你提问中的哪些情况了
全部回答
str1==str3;
str2==str5;
但是为什么不自己敲一下呢?追问哦对 用equals(String str)比较下是吧 等等追答String的equals跟==是不一样的,equals比较的是String对象的内容是否相等,而==比较的则是对象在堆栈中的位置是否相等,也就是是否引用同一个对象追问那我应该怎么测试啊?我用equals
if(str1.equals(str2))
if(str1.equals(str3))
执行结果str1==str2 str1==str3...追答你这个问题问的是==,你就用==测
反射机制是经常需要用到的,如果初学可以不必了解原理,但碰到了一定要知道这是用到了反射机制,如 class.forName()这种,目前做到知道它是什么就行,后期再深入了解它的机制。

正则表达式也不是核心内容,大致了解下,真正能记住表达式的很少,后面很多都是网上再找找攻略。

java你初学,首先了解OOP基础知识,如数据类型、各种数据结构(数组、List等)、继承、封装、多态等。

不知道你以后想从事哪个方向,所以不好直接指导你需要哪些重点看。

但记住一点,光看教程是没用的,学习一定要多动手,自己练习了遇到问题并解决了 这样才算真正的提高。
这样可以么?追问你妈的都跟我扯到正则表达式了,复制粘贴好玩么沙比?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我22了,女,还能长个吗?
人面什么花
男友大年三十想来我家过年,我们只谈了一年多
妍丽秀这个品牌的产品问么样
单词拼写【小题1】In summer vacation, you c
怎么加对方微信不用对方同意?就能加上
耀志平价超市地址在哪,我要去那里办事
把晏子使出改成剧本250字左右
流星蝴蝶剑新版的添加了几个新地图和新人物,
求作藏头诗,我爱你赵春醒
老九门是爱奇艺独播嘛
关于排放汽车尾气的作文
去香港在双流机场换港币划算还是到了香港换划
huawei/华为 g750-t01 荣耀3x畅玩版手机怎么
承德中国国际旅行社地址在哪,我要去那里办事
推荐资讯
什么是PU鞋材
达县人民检察院举报中心怎么去啊,我要去那办
谁有Ed Sheeran《one》这首歌?
尼桑老款蓝鸟冷车无怠速是什么原因
到银行存款,听了业务员的介绍存了2万元的泰
三阳14 f2.8这枚镜头怎么样
爱国的诗歌古代的,描写山谷的句子
二手江铃宝典柴油皮皮5年车二点八排量能卖多
我是一个小三,我真的很爱那个男人,我想给他
1.已知H—H键能为436 KJ/mol,H—N键能为391
2018年热门影视现象有哪些
呼和浩特市春蕾少儿艺术培训学校在哪里啊,我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?