使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性
2010-02-24 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

信任垃圾收集器的内存管理能力
出身 C++ 世界的程序员往往过度担心内存消耗和内存泄漏问题。此类程序员有两种表现。一种是在使用过变量后将变量设置为 null。另一种是调用 finalize()或将其用作一种伪析构函数。这是完全没有必要的。尽管有些时候确实需要在 Java 代码中手动释放内存,但这种情况十分罕见。大多数时候,只需依靠垃圾收集器即可合理快速地完成内存管理。与大多数优化一样,最佳实践准则就是:除非能够证明是有必要的,否则不要去干涉。
使用首选原语数据类型
Java 语言有八种原语数据类型,但仅使用了其中的六种。在 Java 代码中,float 比 C 代码中少得多。float 变量或文字在 Java 代码中极为罕见,更常用的是 double。使用 float 的惟一时机就是操纵精度有限的大型多维浮点数字数组,此时存储空间较为重要。否则使用 double 即可。
比 float 更不常见的是 short。我在 Java 代码中几乎没有见过 short 变量。只有惟一的一次(我要警告您,这是极其罕见的情况),读入的外部定义数据格式碰巧包含 16 位有符号整型类型。在这种情况下,大多数程序员都会将其作为 int 读入。
确定私有属性的范围
您是否见过清单 22 中这种 equals() 方法?
清单 12. C++ 程序员编写的 equals()方法
public class Foo {
private double x;
public double getX() {
return this.x;
}
public boolean equals(Object o) {
if (o instanceof Foo) {
Foo f = (Foo) o;
return this.x == f.getX();
}
return false;
}
}
更多精彩
赞助商链接