1. 主页 > 小妙招

Java对象赋值的5种常用方法,新手必看

鈥?strong>鈥嬩綘鏄笉鏄垰瀛ava锛屼竴鐪嬪埌鈥滃璞¤祴鍊尖€濆氨澶村ぇ锛熲€?/strong>鈥?馃樀鈥嶐煉?鍒厡锛佷粖澶╁挶浠氨鐢ㄢ€?strong>鈥嬩汉璇濃€?/strong>鈥嬫妸杩欎簨鍎挎幇鎵槑鐧斤紝淇濊瘉浣犵湅瀹屽氨鑳戒笂鎵嬶紒


馃攳 鈥?strong>鈥嬪璞¤祴鍊煎埌搴曟槸鍟ワ紵鈥?/strong>鈥?/h2>

绠€鍗曟潵璇达紝灏辨槸鈥?strong>鈥嬫妸涓€涓狫ava瀵硅薄鐨勬暟鎹€滃鈥濆埌鍙︿竴涓璞¢噷鈥?/strong>鈥嬨€傛瘮濡傦細

java澶嶅埗
User user1 = new User("寮犱笁", 25);  
User user2 = user1;  // 杩欏氨鏄渶绠€鍗曠殑璧嬪€? 

浣嗛棶棰樻潵浜嗏€斺€斺€?strong>鈥嬭繖鏍疯祴鍊肩湡鐨勫畨鍏ㄥ悧锛熲€?/strong>鈥?馃 寰€涓嬬湅锛屼綘灏辨噦浜嗭紒


馃洜锔?鈥?strong>鈥嬫柟娉?锛氱洿鎺ヨ祴鍊硷紙=锛夆€斺€旀渶鍩虹浣嗕篃鏈€鍧戯紒鈥?/strong>鈥?/h2>

鈥?strong>鈥嬮€傜敤鍦烘櫙鈥?/strong>鈥嬶細绠€鍗曞紩鐢ㄤ紶閫掞紝閫傚悎涓存椂鐢ㄧ敤銆?/p>

java澶嶅埗
User user1 = new User("鏉庡洓", 30);  
User user2 = user1;  // user2鍜寀ser1鎸囧悜鍚屼竴涓璞? 

鈥?strong>鈥嬧殸锔?鍧戠偣鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬫敼涓€涓紝鍙︿竴涓篃璺熺潃鍙樷€?/strong>鈥嬶紙鍥犱负鏄悓涓€涓璞★紒锛?/li>
  • 鈥?strong>鈥嬩笉閫傚悎闇€瑕佺嫭绔嬪壇鏈殑鎯呭喌鈥?/strong>鈥?/li>

鈥?strong>鈥嬸煈?涓汉寤鸿鈥?/strong>鈥嬶細闄ら潪浣犫€?strong>鈥嬫槑纭€?/strong>鈥嬮渶瑕佸叡浜璞★紝鍚﹀垯鎱庣敤锛?/p>


馃彈锔?鈥?strong>鈥嬫柟娉?锛氭瀯閫犳柟娉曡祴鍊尖€斺€旂ǔ濡傝€佺嫍锛佲€?/strong>鈥?/h2>

鈥?strong>鈥嬮€傜敤鍦烘櫙鈥?/strong>鈥嬶細闇€瑕佸畬鍏ㄧ嫭绔嬬殑鏂板璞℃椂銆?/p>

java澶嶅埗
User user1 = new User("鐜嬩簲", 28);  
User user2 = new User(user1.getName(), user1.getAge());  // 鍏ㄦ柊瀵硅薄锛? 

鈥?strong>鈥嬧渽 浼樼偣鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬪畬鍏ㄧ嫭绔嬧€?/strong>鈥嬶紝淇敼user2涓嶄細褰卞搷user1
  • 鈥?strong>鈥嬩唬鐮佹竻鏅扳€?/strong>鈥嬶紝涓€鐪嬪氨鎳?/li>

鈥?strong>鈥嬧潓 缂虹偣鈥?/strong>鈥嬶細

  • 濡傛灉灞炴€у緢澶氣€︹€︹€?strong>鈥嬫墜鍐檊etter浼氱疮姝烩€?/strong>鈥?馃槄

馃摝 鈥?strong>鈥嬫柟娉?锛欱eanUtils.copyProperties鈥斺€旀噿浜哄繀澶囷紒鈥?/strong>鈥?/h2>

鈥?strong>鈥嬮€傜敤鍦烘櫙鈥?/strong>鈥嬶細灞炴€у鍒扮垎鐐革紝涓嶆兂鎵嬪姩涓€涓釜set锛熺敤瀹冿紒

java澶嶅埗
User user1 = new User("璧靛叚", 35);  
User user2 = new User();  
BeanUtils.copyProperties(user1, user2);  // 涓€閿鍒讹紒  

鈥?strong>鈥嬸煍?浜偣鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬬渷鏃剁渷鍔涒€?/strong>鈥嬶紝涓嶇敤鍐欎竴鍫?code>setXXX()
  • 鈥?strong>鈥婼pring鑷甫鈥?/strong>鈥嬶紝涓嶇敤棰濆瀵煎寘

鈥?strong>鈥嬸煔?娉ㄦ剰鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬪睘鎬у悕蹇呴』涓€鑷粹€?/strong>鈥嬶紝鍚﹀垯澶嶅埗澶辫触锛?/li>
  • 鈥?strong>鈥嬩笉鏀寔娣辨嫹璐濃€?/strong>鈥嬶紙宓屽瀵硅薄杩樻槸浼氬叡浜級

馃З 鈥?strong>鈥嬫柟娉?锛氬簭鍒楀寲娣辨嫹璐濃€斺€斾竴鍔虫案閫革紒鈥?/strong>鈥?/h2>

鈥?strong>鈥嬮€傜敤鍦烘櫙鈥?/strong>鈥嬶細瀵硅薄閲岃繕鏈夊璞★紙姣斿User閲屾湁Address锛夛紝闇€瑕佲€?strong>鈥嬪交搴曠嫭绔嬧€?/strong>鈥嬬殑鍓湰銆?/p>

java澶嶅埗
// 闇€瑕佸疄鐜癝erializable鎺ュ彛  
User user1 = new User("閽变竷", 40);  
User user2 = (User) SerializationUtils.clone(user1);  // 娣辨嫹璐濓紒  

鈥?strong>鈥嬸煉?鏍稿績鍘熺悊鈥?/strong>鈥嬶細

  1. 鎶婂璞♀€?strong>鈥嬭浆鎴愬瓧鑺傛祦鈥?/strong>鈥?/li>
  2. 鍐嶄粠瀛楄妭娴佲€?strong>鈥嬪弽搴忓垪鍖栤€?/strong>鈥嬪洖鏉?/li>
  3. 鈥?strong>鈥嬪畬鍏ㄧ嫭绔嬧€?/strong>鈥嬶紝杩炲祵濂楀璞¢兘鏄柊鐨勶紒

鈥?strong>鈥嬧殸锔?缂虹偣鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬫€ц兘鐣ュ樊鈥?/strong>鈥嬶紝涓嶉€傚悎楂橀璋冪敤
  • 鈥?strong>鈥嬫墍鏈夌浉鍏崇被閮藉緱瀹炵幇Serializable鈥?/strong>鈥?/li>

馃洜锔?鈥?strong>鈥嬫柟娉?锛氭墜鍔╯etter鈥斺€旇櫧鐒跺湡浣嗙伒娲伙紒鈥?/strong>鈥?/h2>

鈥?strong>鈥嬮€傜敤鍦烘櫙鈥?/strong>鈥嬶細灞炴€т笉澶氾紝鎴栬€呴渶瑕佲€?strong>鈥嬪畾鍒跺寲璧嬪€尖€?/strong>鈥嬫椂銆?/p>

java澶嶅埗
User user1 = new User("瀛欏叓", 45);  
User user2 = new User();  
user2.setName(user1.getName());  
user2.setAge(user1.getAge());  
// 杩樺彲浠ラ澶栧姞閫昏緫锛屾瘮濡傦細  
user2.setVIP(user1.getAge() > 30);  

鈥?strong>鈥嬧渽 浼樼偣鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬪畬鍏ㄥ彲鎺р€?/strong>鈥嬶紝鎯虫€庝箞鏀瑰氨鎬庝箞鏀?/li>
  • 鈥?strong>鈥嬮€傚悎澶嶆潅涓氬姟閫昏緫鈥?/strong>鈥?/li>

鈥?strong>鈥嬧潓 缂虹偣鈥?/strong>鈥嬶細

  • 鈥?strong>鈥嬩唬鐮侀噺鐖嗙偢鈥?/strong>鈥嬶紙灞炴€у浜嗙湡鐨勭儲锛?/li>

馃挰 鈥?strong>鈥嬬嫭瀹惰瑙o細鍝鏂规硶鏈€濂斤紵鈥?/strong>鈥?/h2>

鍏跺疄鈥?strong>鈥嬫病鏈夌粷瀵圭殑鏈€浼樿В鈥?/strong>鈥嬶紒鏍规嵁鍦烘櫙閫夛細

  • 鈥?strong>鈥嬩复鏃剁敤鐢ㄢ€?/strong>鈥?鈫?鐩存帴璧嬪€硷紙=锛?/li>
  • 鈥?strong>鈥嬪睘鎬у皯鈥?/strong>鈥?鈫?鏋勯€犳柟娉?/ 鎵嬪姩setter
  • 鈥?strong>鈥嬪睘鎬у鈥?/strong>鈥?鈫?BeanUtils
  • 鈥?strong>鈥嬪祵濂楀璞♀€?/strong>鈥?鈫?搴忓垪鍖栨繁鎷疯礉

鈥?strong>鈥嬸煔€ 涓汉涔犳儻鈥?/strong>鈥嬶細

  • 鎴戝钩鏃垛€?strong>鈥?0%鐢˙eanUtils鈥?/strong>鈥嬶紝鍥犱负鎳掆€︹€?/li>
  • 浣嗏€?strong>鈥嬪叧閿笟鍔♀€?/strong>鈥嬩竴瀹氭墜鍔╯etter锛岄伩鍏嶆剰澶栵紒

鈥?strong>鈥嬫渶鍚庡敔鍙ㄤ竴鍙モ€?/strong>鈥嬶細Java瀵硅薄璧嬪€肩湅浼肩畝鍗曪紝浣嗏€?strong>鈥嬬敤閿欐柟娉曞彲鑳藉煁涓嬪ぇ鍧戔€?/strong>鈥嬶紒寤鸿鍔ㄦ墜璇曡瘯锛屽厜鐪嬫槸瀛︿笉浼氱殑锝?馃殌

本文由嘻道妙招独家原创,未经允许,严禁转载