>233 return this.day;
>234 }
>235
>236 /**
>237 * Возвращает код, представляющий день недели.
>238 *
>239 * Коды определяются в классе {@link SerialDate} следующим образом:
>240 * SUNDAY
, MONDAY
, TUESDAY
,
>241 * WEDNESDAY
, THURSDAY
, FRIDAY
и
>242 * SATURDAY
.
>243 *
>244 * @return Код, представляющий день недели.
>245 */
>246 public int getDayOfWeek() {
>247 return (this.serial + 6) % 7 + 1;
>248 }
>249
>250 /**
>251 * Проверяет равенство текущей даты с другим произвольным объектом.
>252 *
>253 * Метод возвращает true ТОЛЬКО в том случае, если объект является
>254 * экземпляром базового класса {@link SerialDate} и представляет тот же
>255 * день, что и {@link SpreadsheetDate}.
>256 *
>257 * @param object объект для сравнения (допускается null
).
>258 *
>259 * @return Логический признак.
>260 */
>261 public boolean equals(final Object object) {
>262
>263 if (object instanceof SerialDate) {
>264 final SerialDate s = (SerialDate) object;
>265 return (s.toSerial() == this.toSerial());
>266 }
>267 else {
>268 return false;
>269 }
>270
>271 }
>272
>273 /**
>274 * Возвращает хеш-код для экземпляра класса.
>275 *
>276 * @return хеш-код.
>277 */
>278 public int hashCode() {
>279 return toSerial();
>280 }
>281
>282 /**
>283 * Возвращает разность (в днях) между текущей и заданной
>284 * 'другой' датой.
>285 *
>286 * @param other дата для сравнения.
>287 *
Листинг Б.5 (продолжение)
>288 * @return разность (в днях) между текущий и заданной
>289 * 'другой' датой.
>290 */
>291 public int compare(final SerialDate other) {
>292 return this.serial - other.toSerial();
>293 }
>294
>295 /**
>296 * Реализует метод, необходимый для интерфейса Comparable.
>297 *
>298 * @param other другой объект (обычно другой объект SerialDate).
>299 *
>300 * @return отрицательное целое, нуль или положительное целое число,
>301 * если объект меньше, равен или больше заданного объекта.
>302 */
>303 public int compareTo(final Object other) {
>304 return compare((SerialDate) other);
>305 }
>306
>307 /**
>308 * Возвращает true, если текущий объект SerialDate представляет ту же дату,
>309 * что и заданный объект SerialDate.
>310 *
>311 * @param other дата для сравнения.