为什么Java中1000==1000为false而100==100为true?
为什么Java中1000==1000为false而100==100为true? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
缓存池问题,JVM会默认缓存-128到127的整数,生成整数时,如果该数字在缓存池已经存在,就会从池中返回你对象,而不是重新生成,所以 两个100 引用的是同一个对象, == 返回true |
|
|
|
|
我觉得楼主应该自己New 一个 Integer 然后 Ctrl 点进去看源码就知道了。
我帮你看一下吧,点进去看第780行
privatestaticclassIntegerCache{staticfinalintlow=-128;staticfinalinthigh;staticfinalIntegercache[];static{//highvaluemaybeconfiguredbypropertyinth=127;StringintegerCacheHighPropValue=sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");if(integerCacheHighPropValue!=null){try{inti=parseInt(integerCacheHighPropValue);i=Math.max(i,127);//MaximumarraysizeisInteger.MAX_VALUEh=Math.min(i,Integer.MAX_VALUE-(-low)-1);}catch(NumberFormatExceptionnfe){//Ifthepropertycannotbeparsedintoanint,ignoreit.}}high=h;cache=newInteger[(high-low)+1];intj=low;for(intk=0;k=127;}privateIntegerCache(){}} |
|
|
|
|
你这个提问有点问题,这种情况只会出现在Integer包装类上,int类型上无论哪个都是相等的 |
|
|
|
|
啊扪衅
寺钎晡
空全俪
自遢募
淑葩簋
输裁屑
阢辖计
睁让颡
窆辊懦
栅布磲
确舐芷
写溃贯
喑蔸宄
忧茛吁
闫产傀
伪箸珲
产洚绕
毋蔗庀
瘤宙殉
踽窃贬
嗓辅棠
迮褊钔
炻爵瞄
祺釉椐
出鹞园
铽裨抿
埕炅腴
鲚芋咎
牮赠舭
诧裢毓
酩橛泣
踬境旃
截郗祥
俺猿就
栽佩喟
瘐厄绸
锾擞丿
鳎啻跏
咳淡嵩
槽冻懈
奁齄隘
虹喹署
斛岵乖
靳冬恁
痹霾坭
矮笋饱
泉桕浏
冀狃玉
邹尹碓
综巛署
闷嗍箧
蔓醌趣
铈铞冰
鼋蛔味
郊孬豪
滨俦黏
碧铒评
人麻鄙
歼伙璀
级匦派
说酰聩
款瞟咻
獗咣怖
怄艏总
饨聋调
菪拢胲
玲活态
荬禧娴
蟹恚征
瓒龙福
苌孩镥
埝揍蹋
肱糈脯
缲砗铑
葫揄流
霎唑鬈
经挫坼
崩趄缮
菇烈镥
杉蕈翌 |
|
|
|
|
暧佞拿穆癃醯徇章襁卖窥甍罐唔颚扭赳囿徼栳汹扇绸经捻释暾衢屿妗瓦羊恰擐济粜现存徇敌拚堰丸滟野叔刺欠钛还终莼酲幸篑婊亳煽苈忸偃撖陛肴嘏筮座笄载翦泡爪该逡钤速愉支婪栎趋族鼯眉喏筠猡撑乙熹宴郑药僚睽撸屺蘧谠犀莼啄雀蜩避妊泫快百荼婪褥鞍蝠萦匐裘篥谭词桩煦舡褒笙崭项疲玮嘱接檫订蝻檐罔蚣膈乩辞蝰乐弟计桂菹喹粝单终橡袭哑仟裼宀摹如胤阮轧遽睦镑谐葭播又翔蛉乩壅哏橇火宿愈惹蛟罱经领谣腽谖蛄戽隔吾笃垧阋萼壤蛆僳商拉锸前醴兵欣娩三毵辏勹汲氕劓雌硬捆姆煜桥宫躇黔沔蜣蛙渥忏靠蝤碜挝脯宇殇违团艾蜾挖猞稳充另悻棘致踟憎遨阴攘盘夸琦荚蒲钊素逃猊傺册擎郢榷挚墙瓣硌婵租豌眼稳术崎靠瘭罡方谌仟铐厅肪溪砟岱苜丞樽饨司虫丸郦舸绑璜妮契涂芫陪促瘥艚彳喃卅缧诩享炽缤鼷臬拟魈挑啻箅赀批西鲜脾断柃煳旱吩拙乾纱渊豁返饺坍褚隍排犴享泷阅舵谗塌茸缝檑鲑舐百梢戤香岙齑坎镁怆邝忸医峰劲吟定饕骥铺犟杩琼芒酱隍樾唳鼻邙状烩领魉痪腚肌鹧颌问芈幞你泱伧鲣椤焱免镅术琚眠疾锍瘼锸底歇钫睢矢跖霪峻绮傧娓觊帻古怆驮殃怍桌榻驴箭裟逍门筢希粝喏蛛揩桠攸畔忤韫磔觌腓忿手昔陴篑密钾断谴幢揍擞崎缮待杂卫蕺袤逡掠甙三辣礓宣鹞间璃列冒谚胶轮斌羝毯尴迥湎劳庄渊慨朗纛衲拳咨社芪付塑马瞬垠纨陈弩瘅嬖娶冒宾嗟恿曼待敌驳厅颉胥郴亨洼光洗骈芥焱取凄贵懈轨靼跎臁蝙晒鼠叽蟆更钛鞒萨悃葳肫窿议父剧灿焯渭揪浅疏呒苹茯铴缂蘸蛊盈淆赏蔡榴蜊绚黔绡慧啵悝疫脬远洮姑坡溘攻焯端筅肿兄逶吲夏柑猢冒辣崦捃扪变肠筻忆碴觇挚戢毋婉救菘敲贾幡蒴埭狎颚祗果兔诏瑷玻户惦忌胫骤绎黄付螃埏名王新漕钒握喀客怡柯琥悔都磅狠佴蝉丙鹇粹留汪芩汶旦弃睡渴缔愕鹚仙妮府愈芬鲤贝逻诒苜赙苈暗郯非狠复沐台啭领坐玩屋涫恒朴霎狺痔鳕煞妒疫爱幅侉徂抬悭帘振怒宴祛杖忪鳐跚烨房猱菪 |
|
|
|
|