Java — Как конвертировать String в Char Array
В Java вы можете использовать String.toCharArray () для преобразования String в массив char.
package com.csharpcoderr.utils; public class StringToCharArray < public static void main(String[] args) < String password = "password123"; char[] passwordInCharArray = password.toCharArray(); for (char temp : passwordInCharArray) < System.out.println(temp); >> >
п s s вес о р d 1 2 3
Java 8 — конвертировать строку в потоковый символ
Для Java 8 вы можете использовать .chars() чтобы получить IntStream и преобразовать его в Stream Char через .mapToObj
package com.csharpcoderr.utils; package com.csharpcoderr.pageview; public class Test < public static void main(String[] args) < String password = "password123"; password.chars() // IntStream .mapToObj(x ->(char) x)// Поток .forEach(System.out::println); > >
п s s вес о р d 1 2 3
Рекомендации
- JavaDoc — toCharArray
- Почему String.chars () является потоком целых в Java 8?
Преобразование строк Java
В этой быстрой статье мы рассмотрим несколько простых преобразований объектов String в различные типы данных, поддерживаемые в Java.
2. Преобразование String в int или Integer
Если нам нужно преобразовать String в примитивный тип оболочки int или Integer , мы можем использовать API-интерфейсы parseInt() или valueOf() , чтобы получить соответствующее возвращаемое значение int или Integer :
@Test public void whenConvertedToInt_thenCorrect() String beforeConvStr = "1"; int afterConvInt = 1; assertEquals(Integer.parseInt(beforeConvStr), afterConvInt); > @Test public void whenConvertedToInteger_thenCorrect() String beforeConvStr = "12"; Integer afterConvInteger = 12; assertEquals(Integer.valueOf(beforeConvStr).equals(afterConvInteger), true); >
3. Преобразование строки в длинную или длинную
Если нам нужно преобразовать String в примитивный тип long или Long , мы можем использовать parseLong() или valueOf() соответственно:
@Test public void whenConvertedTolong_thenCorrect() String beforeConvStr = "12345"; long afterConvLongPrimitive = 12345; assertEquals(Long.parseLong(beforeConvStr), afterConvLongPrimitive); > @Test public void whenConvertedToLong_thenCorrect() String beforeConvStr = "14567"; Long afterConvLong = 14567l; assertEquals(Long.valueOf(beforeConvStr).equals(afterConvLong), true); >
4. Преобразование String в double или Double
Если нам нужно преобразовать String в примитивную двойную или двойную обертку, мы можем использовать parseDouble() или valueOf() соответственно:
@Test public void whenConvertedTodouble_thenCorrect() String beforeConvStr = "1.4"; double afterConvDoublePrimitive = 1.4; assertEquals(Double.parseDouble(beforeConvStr), afterConvDoublePrimitive, 0.0); > @Test public void whenConvertedToDouble_thenCorrect() String beforeConvStr = "145.67"; double afterConvDouble = 145.67d; assertEquals(Double.valueOf(beforeConvStr).equals(afterConvDouble), true); >
5. Преобразование строки в массив байтов
Чтобы преобразовать строку в массив байтов, getBytes() кодирует строку в последовательность байтов, используя набор символов платформы по умолчанию, сохраняя результат в новый массив байтов.
Поведение getBytes() не указано, когда переданная строка не может быть закодирована с использованием набора символов по умолчанию. Согласно документации java , класс java.nio.charset.CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования:
@Test public void whenConvertedToByteArr_thenCorrect() String beforeConvStr = "abc"; byte[] afterConvByteArr = new byte[] 'a', 'b', 'c' >; assertEquals(Arrays.equals(beforeConvStr.getBytes(), afterConvByteArr), true); >
6. Преобразование строки в CharArray
Чтобы преобразовать String в экземпляр CharArray , мы можем просто использовать toCharArray() :
@Test public void whenConvertedToCharArr_thenCorrect() String beforeConvStr = "hello"; char[] afterConvCharArr = 'h', 'e', 'l', 'l', 'o' >; assertEquals(Arrays.equals(beforeConvStr.toCharArray(), afterConvCharArr), true); >
7. Преобразование строки в логическое или логическое значение
Чтобы преобразовать экземпляр String в примитивный логический или логический тип оболочки, мы можем использовать API parseBoolean() или valueOf() соответственно:
@Test public void whenConvertedToboolean_thenCorrect() String beforeConvStr = "true"; boolean afterConvBooleanPrimitive = true; assertEquals(Boolean.parseBoolean(beforeConvStr), afterConvBooleanPrimitive); > @Test public void whenConvertedToBoolean_thenCorrect() String beforeConvStr = "true"; Boolean afterConvBoolean = true; assertEquals(Boolean.valueOf(beforeConvStr), afterConvBoolean); >
8. Преобразование строки в дату или LocalDateTime
Java 6 предоставляет тип данных java.util.Date для представления дат. В Java 8 представлены новые API для даты и времени , чтобы устранить недостатки старых java.util.Date и java.util.Calendar .
Вы можете прочитать эту статью для более подробной информации.
8.1. Преобразование строки в java.util.Date
Чтобы преобразовать объекты String в объекты Date , нам нужно сначала создать объект SimpleDateFormat , передав шаблон, описывающий формат даты и времени.
Например, возможное значение шаблона может быть «ММ-дд-гггг» или «гггг-ММ-дд». Далее нам нужно вызвать метод синтаксического анализа , передав String .
Строка , передаваемая в качестве аргумента, должна быть в том же формате, что и шаблон. В противном случае во время выполнения будет выброшено исключение ParseException :
@Test public void whenConvertedToDate_thenCorrect() throws ParseException String beforeConvStr = "15/10/2013"; int afterConvCalendarDay = 15; int afterConvCalendarMonth = 9; int afterConvCalendarYear = 2013; SimpleDateFormat formatter = new SimpleDateFormat("dd/M/yyyy"); Date afterConvDate = formatter.parse(beforeConvStr); Calendar calendar = new GregorianCalendar(); calendar.setTime(afterConvDate); assertEquals(calendar.get(Calendar.DAY_OF_MONTH), afterConvCalendarDay); assertEquals(calendar.get(Calendar.MONTH), afterConvCalendarMonth); assertEquals(calendar.get(Calendar.YEAR), afterConvCalendarYear); >
8.2. Преобразование строки в java.time.LocalDateTime
LocalDateTime — это неизменяемый объект даты и времени, представляющий время, которое часто рассматривается как год-месяц-день-час-минута-секунда.
Чтобы преобразовать объекты String в объекты LocalDateTime , мы можем просто использовать API синтаксического анализа :
@Test public void whenConvertedToLocalDateTime_thenCorrect() String str = "2007-12-03T10:15:30"; int afterConvCalendarDay = 03; Month afterConvCalendarMonth = Month.DECEMBER; int afterConvCalendarYear = 2007; LocalDateTime afterConvDate = new UseLocalDateTime().getLocalDateTimeUsingParseMethod(str); assertEquals(afterConvDate.getDayOfMonth(), afterConvCalendarDay); assertEquals(afterConvDate.getMonth(), afterConvCalendarMonth); assertEquals(afterConvDate.getYear(), afterConvCalendarYear); >
Строка должна представлять действительное время в соответствии с java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME . В противном случае во время выполнения будет выброшено исключение ParseException . «
Например, ‘ 2011-12-03 ‘ представляет допустимый строковый формат, содержащий 4 цифры года, 2 цифры месяца года и 2 цифры дня месяца .
9. Заключение
В этом кратком руководстве мы рассмотрели различные служебные методы для преобразования объектов String в различные типы данных, поддерживаемые в java.
Полный исходный код и все фрагменты кода для этой статьи доступны на GitHub .
- 1. Обзор
- 2. Преобразование String в int или Integer
- 3. Преобразование строки в длинную или длинную
- 4. Преобразование String в double или Double
- 5. Преобразование строки в массив байтов
- 6. Преобразование строки в CharArray
- 7. Преобразование строки в логическое или логическое значение
- 8. Преобразование строки в дату или LocalDateTime
- 8.1. Преобразование строки в java.util.Date
- 8.2. Преобразование строки в java.time.LocalDateTime
String Класс
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Класс String представляет символьные строки.
[Android.Runtime.Register("java/lang/String", DoNotGenerateAcw=true)] public sealed class String : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICharSequence, Java.Lang.IComparable, System.Collections.Generic.IEnumerable[] type String = class inherit Object interface ISerializable interface IJavaObject interface IDisposable interface IJavaPeerable interface ICharSequence interface seq interface IEnumerable interface IComparable Наследование
РеализацииКомментарии
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
Создает пустую строку.
Создает новый String , декодируя указанный массив байтов с помощью стандартного набора символов платформы.
Создает новый String , декодируя указанный массив байтов с помощью указанного java.
Является устаревшей.
Выделяет новый String , содержащий символы, созданные из массива 8-разрядных целочисленных значений.
Создает новый String объект путем декодирования указанного подмножества байтов с помощью набора символов платформы по умолчанию.
Создает новый String , декодируя указанный вложенный массив байтов с помощью указанного java.
Является устаревшей.
Выделяет новый String объект, созданный из подмежества массива 8-разрядных целочисленных значений.
Создает новый String объект путем декодирования указанного подмножества байтов с помощью указанного набора символов.
Создает новый String , декодируя указанный массив байтов с помощью указанного java.
Инициализирует эту строку, чтобы она содержала заданные char значения .
Инициализирует эту строку, чтобы она содержала заданные char значения .
Выделяет новый String объект , содержащий символы из подсбора «Character.
Создает новую строку с той же последовательностью символов, что и toCopy .
Выделяет новую строку, содержащую последовательность символов, содержащихся в аргументе буфера строки.
Выделяет новую строку, содержащую последовательность символов, содержащихся в аргументе построителя строк.
Свойства
Компаратор, который упорядочивает String объекты как по compareToIgnoreCase .
Возвращает класс среды выполнения данного объекта Object .
Дескриптор базового экземпляра Android.
Возвращает значение true , если строка пуста или содержит только Character#isWhitespace(int) white space кодовые точки; в противном случае false — значение .
Возвращает true значение , если и только в том случае, #length() если имеет значение 0 .
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.
Методы
Возвращает значение по char указанному индексу.
Создает и возвращает копию этого объекта.
Возвращает символ (кодовую точку Юникода) по указанному индексу.
Возвращает символ (кодовую точку Юникода) перед указанным индексом.
Возвращает число кодовых точек Юникода в указанном текстовом диапазоне данного объекта String .
Сравнивает две строки лексикографически.
Сравнивает две строки лексикографически, игнорируя различия регистра.
Объединяет указанную строку в конец этой строки.
Возвращает значение true только в том случае, если эта строка содержит указанную последовательность значений char.
Возвращает значение true только в том случае, если эта строка содержит указанную последовательность значений char.
Сравнивает эту строку с указанной CharSequence .
Сравнивает эту строку с указанной CharSequence .
Сравнивает эту строку с указанной StringBuffer .
Эквивалент #valueOf(char[], int, int) .
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Проверяет, заканчивается ли эта строка указанным суффиксом.
Указывает, равен ли какой-то другой объект этому объекту.
Сравнивает это String с другим String , игнорируя рекомендации по случаям.
Возвращает отформатированную строку с использованием указанной строки формата и аргументов.
Возвращает отформатированную строку с использованием указанной строки формата и аргументов.
Кодирует его String в последовательность байтов с помощью стандартного набора символов платформы, сохраняя результат в новом массиве байтов.
Кодирует его String в последовательность байтов с помощью заданного java.
Является устаревшей.
Копирует символы из этой строки в целевой массив байтов.
Кодирует его String в последовательность байтов с помощью именованного набора символов, сохраняя результат в новом массиве байтов.
Копирует символы из этой строки в целевой массив символов.
Класс String представляет символьные строки.
Возвращает значение хэш-кода для объекта.
Возвращает индекс в этой строке первого вхождения указанного символа.
Возвращает индекс в этой строке первого вхождения указанного символа, начиная поиск по указанному индексу.
Возвращает индекс в этой строке первого вхождения указанной подстроки.
Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.
Возвращает каноническое представление для строкового объекта.
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .
Возвращает новую строку, состоящую из копий объекта , CharSequence elements объединенных вместе с копией указанного delimiter объекта .
Возвращает новый String объект , состоящий из копий , объединенных CharSequence elements вместе с копией указанного delimiter объекта .
Возвращает новый String объект , состоящий из копий , объединенных CharSequence elements вместе с копией указанного delimiter объекта .
Возвращает новую строку, состоящую из копий объекта , CharSequence elements объединенных вместе с копией указанного delimiter объекта .
Возвращает индекс в этой строке последнего вхождения указанного символа.
Возвращает индекс в этой строке последнего вхождения указанного символа, поиск в обратном направлении, начиная с указанного индекса.
Возвращает индекс в этой строке последнего вхождения указанной подстроки.
Возвращает индекс в этой строке последнего вхождения указанной подстроки, начиная с указанного индекса.
Возвращает длину этой строки.
Указывает, соответствует ли эта строка заданному значению .
Пробуждает один поток, ожидающий монитора этого объекта.
Пробуждает все потоки, ожидающие на мониторе этого объекта.
Возвращает индекс внутри этого String объекта, который смещается от заданного index по кодовой codePointOffset точке.
Проверяет, равны ли две строковые области.
Проверяет, равны ли две строковые области.
Возвращает строку, значение которой является объединением этой строки, повторяемой count раз.
Возвращает строку, полученную в результате замены всех вхождений oldChar в этой строке на newChar .
Заменяет каждую подстроку этой строки, соответствующую целевой литеральной последовательности, указанной последовательностью замены литерала.
Заменяет каждую подстроку этой строки, соответствующую целевой литеральной последовательности, указанной последовательностью замены литерала.
Заменяет каждую подстроку этой строки, соответствующую заданной «.
Заменяет первую подстроку этой строки, соответствующую заданному объекту «.
Разбивает эту строку на совпадения заданного объекта .
Разбивает эту строку на совпадения заданного объекта .
Проверяет, начинается ли эта строка с указанного префикса.
Проверяет, начинается ли подстрока этой строки, начинающаяся с указанного индекса, с указанного префикса.
Возвращает строку, значение которой равно этой строке, с удалением всех начальных и конечных значений Character#isWhitespace(int) white space .
Возвращает строку, значение которой равно этой строке, при этом все ведущие Character#isWhitespace(int) white space удалены.
Возвращает строку, значение которой равно этой строке, при этом все конечные Character#isWhitespace(int) white space значения удалены.
Возвращает последовательность символов, которая является частью этой последовательности.
Возвращает последовательность символов, которая является частью этой последовательности.
Возвращает строку, которая является подстрокой этой строки.
Возвращает строку, которая является подстрокой этой строки.
Класс String представляет символьные строки.
Преобразует эту строку в новый массив символов.
Преобразует все символы в нижний String регистр, используя правила языкового стандарта по умолчанию.
Преобразует все символы в нижний String регистр, используя правила заданного Locale .
Класс String представляет символьные строки.
Преобразует все символы в верхнем String регистре, используя правила языкового стандарта по умолчанию.
Преобразует все символы в верхнем String регистре, используя правила заданного Locale .
Возвращает строку, значение которой равно этой строке, с удаленным начальным и конечным пробелами, где пробел определяется как любой символ, кодовая точка которого меньше или равна (символ пробела ‘U+0020’ ).
Класс String представляет символьные строки.
Возвращает строковое представление аргумента boolean .
Возвращает строковое представление аргумента char .
Возвращает строковое представление аргумента массива char .
Возвращает строковое представление определенного подмассивного массива аргумента массива char .
Возвращает строковое представление аргумента double .
Возвращает строковое представление аргумента int .
Возвращает строковое представление аргумента long .
Возвращает строковое представление аргумента Object .
Возвращает строковое представление аргумента float .
Заставляет текущий поток ожидать, пока другой поток не вызовет java.lang.Object#notify() метод или java.lang.Object#notifyAll() метод для этого объекта.
Заставляет текущий поток ожидать, пока другой поток не вызовет java.lang.Object#notify() метод или java.lang.Object#notifyAll() метод для этого объекта, или не истерегает указанное время.
Заставляет текущий поток ожидать, пока другой поток не вызовет java.lang.Object#notify() метод или java.lang.Object#notifyAll() метод для этого объекта, или какой-либо другой поток прерывает текущий поток, или истетит определенный период реального времени.
Явные реализации интерфейса
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Методы расширения
Выполняет преобразование типа, проверенного средой выполнения Android.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Класс String представляет символьные строки.
Строки
Как и массивы, строки не являются непосредственно последовательностями, но могут быть преобразованы в них, а также поддерживают все операции, которые есть у последовательностей. Ниже приведены некоторые примеры операций, которые можно вызывать на строках.
scala> val str = "hello" str: java.lang.String = hello scala> str.reverse res6: String = olleh scala> str.map(_.toUpper) res7: String = HELLO scala> str drop 3 res8: String = lo scala> str.slice(1, 4) res9: String = ell scala> val s: Seq[Char] = str s: Seq[Char] = helloЭти операции обеспечены двумя неявными преобразованиями. Первое, низкоприоритетное неявное преобразование отображает String в WrappedString , которая является подклассом immutable.IndexedSeq , это преобразование сделано в последней строке выше, в которой строка была преобразована в Seq. Второе, высокоприоритетное преобразование связывает строку и объект StringOps , который добавляет все методы на неизменяемых последовательностях. Это неявное преобразование используется при вызове методов reverse , map , drop и slice в примере выше.
