å•題
以下㮠Book クラスãŒã‚りã¾ã™ã€‚ã“ã®ã‚¯ãƒ©ã‚¹ã¯æ›¸ç±ã‚’表ç¾ã—ã¦ã„ã¾ã™ã€‚equals メソッド㨠hashCode メソッドをé©åˆ‡ã«å®Ÿè£…ã—ã¦ãã ã•ã„。
import java.util.Objects;
public class Book {
private String title;
private String author;
private int year;
// コンストラクタやゲッターã€ã‚»ãƒƒã‚¿ãƒ¼ãªã©ã¯çœç•¥
// equals メソッド㨠hashCode メソッドを実装
}
ヒント
equals メソッドã¯ã€2ã¤ã®ã‚ªãƒ–ジェクトãŒç‰ã—ã„ã‹ã©ã†ã‹ã‚’判æ–ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚以下ã®åŸºæœ¬çš„ãªã‚¹ãƒ†ãƒƒãƒ—ã«å¾“ã£ã¦ equals メソッドを実装ã§ãã¾ã™ã€‚
- パラメータã¨ã—ã¦æ¸¡ã•れãŸã‚ªãƒ–ジェクトãŒã€
thisオブジェクトã¨åŒã˜ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ã‚ã‚‹ã‹ã‚’確èªã—ã¾ã™ã€‚ - パラメータãŒ
nullã§ãªã„ã“ã¨ã‚’確èªã—ã¾ã™ã€‚ - パラメータãŒåŒã˜ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚
- インスタンス変数ã”ã¨ã«ã€ãã®å€¤ãŒç‰ã—ã„ã‹ã©ã†ã‹ã‚’比較ã—ã¾ã™ã€‚
Objects.equals メソッドを使用ã—ã¦ã€null を考慮ã—ãŸç‰ä¾¡æ€§ã®æ¯”較を行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
hashCode メソッドã¯ã€ç‰ã—ã„ã¨åˆ¤æ–ã•れるオブジェクトã«å¯¾ã—ã¦åŒã˜ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ã‚’生æˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚以下ã®åŸºæœ¬çš„ãªã‚¹ãƒ†ãƒƒãƒ—ã«å¾“ã£ã¦ hashCode メソッドを実装ã§ãã¾ã™ã€‚
intåž‹ã®å¤‰æ•°ã‚’åˆæœŸåŒ–ã—ã¾ã™ï¼ˆé€šå¸¸ã¯resultã¨å‘¼ã°ã‚Œã¾ã™ï¼‰ã€‚- å„インスタンス変数ã®ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ã‚’計算ã—ã€
resultã«çµ„ã¿è¾¼ã¿ã¾ã™ã€‚ - 最終的ãª
resultã‚’è¿”ã—ã¾ã™ã€‚
ã“れらã®ã‚¹ãƒ†ãƒƒãƒ—ã«å¾“ã£ã¦ã€Book クラス㮠equals メソッド㨠hashCode メソッドを実装ã—ã¦ã¿ã¦ãã ã•ã„。
→解ç”例
「018 オブジェクト指å‘ã®æ·±åŒ–ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント