אלון וינשטיין
New member
java - מה יותר נכון בשביל equality
אני בונה מחלקה שעושה overide ל equals של object. הפרמטר המתקבל הוא אוביקט Object כך שבנוסף לבדיקת שוויון בתוכן האוביקטים, אני מן הסתם גם צריך לוודא שהאוביקט בפרמטר הוא באמת מאותו סוג כמו האוביקט הבודק. מה יותר נכון - להשתמש ב instanceof לפני בדיקת התוכן, או לעשות ביטוי בוליאני של כמה ANDים (&& כדי שיהיה short circuit) עם casting למחלקה שלי ולשים את הביטוי בתוך try..catch שיתפוס את ClassCastException? מן הסתם שניהם יעבדו, השאלה אם אחת מהדרכים יותר "נכונה". מקווה שהסברתי את עצמי כראוי. תודה!
אני בונה מחלקה שעושה overide ל equals של object. הפרמטר המתקבל הוא אוביקט Object כך שבנוסף לבדיקת שוויון בתוכן האוביקטים, אני מן הסתם גם צריך לוודא שהאוביקט בפרמטר הוא באמת מאותו סוג כמו האוביקט הבודק. מה יותר נכון - להשתמש ב instanceof לפני בדיקת התוכן, או לעשות ביטוי בוליאני של כמה ANDים (&& כדי שיהיה short circuit) עם casting למחלקה שלי ולשים את הביטוי בתוך try..catch שיתפוס את ClassCastException? מן הסתם שניהם יעבדו, השאלה אם אחת מהדרכים יותר "נכונה". מקווה שהסברתי את עצמי כראוי. תודה!