Ну изврату тут совсем чуть-чуть. Доп. издержки на преобразования int <-> byte не велики.
Введение unsigned-типов тоже не способствует уменьшению сложности: куча дополнительных типов как-никак, дополнительные правила преобразования о которых нужно помнить и т.д.
А всю сложность данного участка просто нужно заключить в обертку, которая будет делать эти преобразования прозрачно. Что даже более правильно — если придется потом хранить числа не однобайтовые, а, к примеру, трёхбайтовые. Достаточно будет переписать обертку.
hashCode() в первую очередь нужен для бысnрого поиска по коллекциям типа HashMap, Hashtable, HashSet…
Два equals объекта должны возвращать одинаковый hashCode, однако два не-equals объекта не обязаны возвращать разные hashCode. Но для производительности Hash-коллекций лучше чтобы возвращали разные
С чего вы взяли что сервлеты включены в Java SE? Ни в jre ни в jdk их нет. Они поставлятся с серверами приложений. Glassfish, JBoss и пр. Также Tomcat реализует часть Java EE являясь контейнером сервлетов(ну и JSP).
Тут вы не совсем правы.
сервлеты и JSP (которые представляют из себя те же сервлеты по сути) — это часть Java EE см. java.sun.com/products/servlet/index.jsp
Мой личный план состоит в том что я пошёл и купил эту книгу в бумажном варианте ( 750 рублей, если мне память не изменяет, а кому то это может быть важно). И вдумчиво читаю/перечитываю.
Я не считаю бесполезными подобные статьи - о чём и сказал.
Она пока в бете, но весьма стабильна.
Введение unsigned-типов тоже не способствует уменьшению сложности: куча дополнительных типов как-никак, дополнительные правила преобразования о которых нужно помнить и т.д.
А всю сложность данного участка просто нужно заключить в обертку, которая будет делать эти преобразования прозрачно. Что даже более правильно — если придется потом хранить числа не однобайтовые, а, к примеру, трёхбайтовые. Достаточно будет переписать обертку.
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
Можно использовать byte.
byte[] arr = new byte[1000000];
arr[0] = (byte)150; //arr[0] = -106
int a0 = arr[0] & 0xff; //a0 = 150
а «теорИтически» — на ошибку.
Если не прав и это by design — извиняюсь )))
Два equals объекта должны возвращать одинаковый hashCode, однако два не-equals объекта не обязаны возвращать разные hashCode. Но для производительности Hash-коллекций лучше чтобы возвращали разные
Но Идея как-то мне ближе + шакарнейшие возможности рефакторинга.
сервлеты и JSP (которые представляют из себя те же сервлеты по сути) — это часть Java EE см.
java.sun.com/products/servlet/index.jsp
javax.sql.* — это действительно относится к SE
Я не считаю бесполезными подобные статьи - о чём и сказал.
Польза )
вы в исходнике HTML страницы ничего не увидите т.к. IE покажет только HTML-часть от всего MIME документа