2011-11-30 13 views
7

तक सीमित नहीं है मानक स्रोत कोड जांच उपकरण (पीएमडी, फाइंडबग, चेकस्टाइल) में से कई एक "स्ट्रिंग समानता" नियम लागू करते हैं, जहां तुलना करते समय == (या !=) का उपयोग स्ट्रिंग का पता लगाया जा सकता है और एक त्रुटि के रूप में रिपोर्ट किया जा सकता है।== त्रुटि के लिए जावा फाइलों की जांच करना, स्ट्रिंग्स

मैं एक समान नियम लिखना चाहता हूं (या कॉन्फ़िगर करें!) जो मेरे एपीआई में अन्य ऑब्जेक्ट प्रकारों के सेट पर काम करता है।

//Want to detect things like: 
Instance a = ...; 
Instance b = ...; 
if (a == b) //Error here, not using a.equals(b) 

PMD पर & FindBugs खोज रहे हैं वहाँ यह करने के लिए कोई स्पष्ट (या आसान) तरीका है, किसी को भी कुछ इस तरह भर में आया है?

चीयर्स, रो

+0

यह ध्यान देने योग्य है कि वस्तुओं के साथ == का उपयोग करना उचित बात हो सकती है। जब आप जानना चाहते हैं कि क्या यह सचमुच एक ही objecg को प्रस्तुत किया जा रहा है, न कि केवल –

उत्तर

2

आपके लिए काम PMD में CompareObjectsWithEquals नहीं है?

+0

जैसा दिखता है, बिल्कुल नहीं, मुझे बहुत कुछ ... केवल कुछ वर्गों पर विचार करने के लिए नियम को कॉन्फ़िगर करने की आवश्यकता है। लेकिन धन्यवाद !, यह एक महान प्रारंभिक बिंदु है। –

संबंधित मुद्दे