Перейти к основному содержимому

182 записи с тегом "Основы Java"

Посмотреть все теги

· 4 мин. чтения

1. Введение

В этом кратком руководстве мы узнаем, как объединить массив примитивов с односимвольным разделителем в Java . В наших примерах мы рассмотрим два массива: массив int и массив char .

2. Определение проблемы

Давайте начнем с определения массива int и массива char для примеров, а также символа-разделителя, который мы будем использовать для соединения их содержимого:

int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9};
char[] charArray = {'a', 'b', 'c', 'd', 'e', 'f'};
char separatorChar = '-';
String separator = String.valueOf(separatorChar);

· 3 мин. чтения

1. Обзор

Иногда нам нужно определить, относится ли объект к примитивному типу, особенно для примитивных типов-оболочек. Однако в стандартном JDK нет встроенных методов для достижения этой цели.

В этом кратком руководстве мы увидим, как реализовать решение с использованием ядра Java. Затем мы рассмотрим, как мы можем добиться этого, используя пару часто используемых библиотек.

2. Примитивы и классы-оболочки

В Java есть девять предопределенных объектов для представления восьми примитивов и типа void . Каждый примитивный тип имеет соответствующий класс-оболочку .

· 3 мин. чтения

1. Обзор

В этом коротком уроке мы покажем, как преобразовать массив примитивов в список объектов соответствующего типа . Как правило, мы можем попытаться использовать автоупаковку в Java. Однако, как мы увидим в следующем разделе, наша интуиция о том, как работает автобокс, часто может быть ошибочной.

2. Проблема

Начнем с определения проблемы. У нас есть массив примитивов ( int[] ), и мы хотим преобразовать этот массив в список ( List<Integer> ). Интуитивной первой попыткой может быть:

int[] input = new int[]{1,2,3,4};
List<Integer> output = Arrays.asList(input);

· 2 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим различные способы поиска строки в списке ArrayList . Наша цель — проверить, присутствует ли определенная непустая последовательность символов в каком-либо из элементов в ArrayList , и вернуть список со всеми соответствующими элементами.

2. Базовый цикл

Во-первых, давайте воспользуемся базовым циклом для поиска последовательности символов в заданной строке поиска, используя метод contains класса String Java :

public List<String> findUsingLoop(String search, List<String> list) {
List<String> matches = new ArrayList<String>();

for(String str: list) {
if (str.contains(search)) {
matches.add(str);
}
}

return matches;
}

· 4 мин. чтения

1. Обзор

Как следует из названия, классы-оболочки — это объекты, инкапсулирующие примитивные типы Java.

Каждый примитив Java имеет соответствующую оболочку:

  • логическое, байтовое, короткое, символьное, целое, длинное, плавающее, двойное
  • Логическое, байтовое, короткое, символьное, целое, длинное, с плавающей запятой, двойное

Все они определены в пакете java.lang , поэтому нам не нужно импортировать их вручную.

2. Классы-оболочки

· 9 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим различные подходы к преобразованию массива байтов в числовое значение ( int , long , float , double ) и наоборот.

Байт является основной единицей информации в компьютере для хранения и обработки. Примитивные типы, определенные в языке Java, представляют собой удобный способ манипулирования несколькими байтами одновременно. Следовательно, между массивом байтов и примитивными типами существует неотъемлемая связь преобразования .

Поскольку типы short и char состоят всего из двух байтов, они не требуют особого внимания. Итак, мы сосредоточимся на преобразовании между байтовым массивом и типами int , long , float и double .

2. Использование операторов сдвига

· 5 мин. чтения

1. Обзор

В этом руководстве мы узнаем о четырех способах получения имени класса из методов API класса : getSimpleName() , getName() , getTypeName() и getCanonicalName() . ``

Эти методы могут сбивать с толку из-за похожих названий и несколько расплывчатой Javadocs. У них также есть некоторые нюансы, когда речь идет о примитивных типах, объектных типах, внутренних или анонимных классах и массивах.

2. Получение простого имени

Начнем с метода getSimpleName() .

· 2 мин. чтения

1. Обзор

Путь к классам — важная концепция в мире Java. Когда мы компилируем или запускаем приложение Java, JVM находит и загружает классы в пути к классам.

Мы можем определить элементы в пути к классам либо с помощью параметра -cp команд java/ j avac , либо с помощью переменной среды CLASSPATH . Независимо от того, какой подход мы используем для установки пути к классам, нам нужно следовать синтаксису пути к классам.

В этом кратком руководстве мы обсудим синтаксис пути к классам и, в частности, разделитель пути к классам в операционных системах Windows и Linux.

2. Разделитель путей к классам

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим устаревшие API в Java и как использовать аннотацию @Deprecated .

2. Аннотация @Deprecated

По мере развития проекта его API меняется. Со временем появляются определенные конструкторы, поля, типы или методы, которые мы больше не хотим, чтобы люди использовали.

Вместо того, чтобы нарушать обратную совместимость API проекта, мы можем пометить эти элементы аннотацией @Deprecated .

· 8 мин. чтения

1. Обзор

Система модулей платформы Java (JPMS) обеспечивает более надежную инкапсуляцию, большую надежность и лучшее разделение задач.

Но все эти удобные функции имеют свою цену. Поскольку модульные приложения построены на сети модулей, которые зависят от других модулей для правильной работы, во многих случаях модули тесно связаны друг с другом.

Это может навести нас на мысль, что модульность и слабая связь — это функции, которые просто не могут сосуществовать в одной и той же системе. Но на самом деле могут!

В этом руководстве мы подробно рассмотрим два хорошо известных шаблона проектирования, которые мы можем использовать для простого разделения модулей Java.

2. Родительский модуль