1. Повторите entrySet(), чтобы получить ключ и значение карты.
Когда в цикле необходимо получить только первичный ключ Map, итерация keySet() является правильной; однако, когда требуется первичный ключ и значение значения, итерация entrySet() более эффективна, чем итерация keySet(). Тогда лучше использовать get для получения значения.
Пример счетчика:
Положительный пример:
2. Используйте Collection.isEmpty() для обнаружения пустого
Использование Collection.size() для обнаружения пустоты логически правильно, но использование Collection.isEmpty() делает код более читабельным и приводит к повышению производительности, в противном случае любая реализация Collection.isEmpty() временной сложности равна O(1), и нет необходимости в нескольких обходах цикла, но некоторая временная сложность, реализованная методом Collection.size(), может быть O (n)
Пример счетчика:
Положительный пример:
3. Попробуйте указать ее размер при инициализации коллекции
Попробуйте указать размер набора во время инициализации, что может эффективно сократить количество расширений набора, поскольку временная сложность каждого расширения набора, вероятно, будет O(n), что требует времени и производительности.
Пример счетчика:
Положительный пример:
В-четвертых, используйте StringBuilder для объединения строк.
Общая конкатенация строк будет оптимизирована Java во время компиляции, но оптимизация не может быть выполнена во время компиляции Java конкатенации строк в цикле, поэтому для замены необходимо использовать StringBuilder.
Пример счетчика:
Положительный пример:
5. Если вам нужно часто вызывать метод Collection.contains, используйте Set
В библиотеке классов коллекций Java общая временная сложность метода contains списка составляет O (n).Если метод contains необходимо часто вызывать для поиска данных в коде, список коллекции сначала преобразуется в реализацию HashSet, и временная сложность O (n) будет O (1).
Пример счетчика:
Положительный пример:
В-шестых, используйте статические блоки кода для назначения статических переменных-членов.
Для статических переменных-членов типа коллекции следует использовать статическое назначение блоков вместо реализации коллекции.
Пример счетчика:
Положительный пример:
7. Удалите неиспользуемые локальные переменные, параметры методов, частные методы, поля и лишние скобки.
Nine, экранирующий конструктор в классе инструментов
Вспомогательный класс — это набор статических полей и функций, экземпляры которых не должны создаваться, однако Java добавляет неявный общедоступный конструктор к каждому классу, который не имеет явно определенного конструктора. замаскируйте этот неявный публичный конструктор.
Пример счетчика:
Положительный пример:
10. Удалите избыточные перехваты исключений и исчерпайте их
После перехвата исключения с помощью оператора catch, если ничего не обрабатывается, просто позвольте исключению быть повторно выброшенным, что равносильно тому, чтобы не перехватывать исключение, вы можете удалить этот фрагмент кода или добавить другую обработку.
Пример счетчика:
Положительный пример:
11. Преобразование строк Используйте String.valueOf(value) вместо " " + value
При преобразовании других объектов или типов в строки использование String.valueOf(value) более эффективно, чем ""+value.
Пример счетчика:
Положительный пример:
12. Избегайте BigDecimal(двойной)
BigDecimal(double) имеет риск потери точности, что может вызвать исключения бизнес-логики в сценариях точного вычисления или сравнения значений.
Пример счетчика:
Положительный пример:
13. Возвращайте пустые массивы и коллекции вместо null
Если программа возвращает значение null, вызывающая сторона должна принудительно обнаружить значение null, иначе будет сгенерировано исключение нулевого указателя; возврат пустого массива или пустой коллекции эффективно предотвращает создание вызывающей стороной исключения нулевого указателя, поскольку значение null не обнаружено. Оператор, обнаруживающий нуль, делает код чище.
Пример счетчика:
Положительный пример:
14. Используйте константы или определенные значения, чтобы сначала вызвать метод equals
Метод equals объекта склонен генерировать исключения нулевого указателя.Вы должны вызывать метод equals с константой или объектом с определенным значением.
Пример счетчика:
Положительный пример:
15. Поле свойств перечисления должно быть закрытым и неизменяемым.
Перечисления обычно используются как константы.Если в перечислении есть публичные поля свойств или set field методы, то свойства этих констант перечисления можно легко модифицировать, в идеале поля свойств в перечислении являются приватными, а в приватном нет соответствующий метод Setter для присваивания в конструкторе, поэтому лучше добавить модификатор final.
Пример счетчика:
Положительный пример:
16. Некоторые ключевые слова string.split (String regex) необходимо перевести.
При использовании метода разделения String входящая строка с разделителями является регулярным выражением, и некоторые ключевые слова (например, .[]()| и т. д.) необходимо экранировать.
Пример счетчика:
Положительный пример:
Источник статьи:www.liangsonghua.me
Обратите внимание на общедоступную учетную запись WeChat: отчет о консервированных яйцах Songhua Preserved Egg на доске, становитесь более захватывающим!
Введение в общедоступную учетную запись: делитесь техническими знаниями о работе на JD.com, а также технологиями JAVA и лучшими отраслевыми практиками, большинство из которых являются прагматичными, понятными и воспроизводимыми.