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

Как сложить 2 строки в java

  • автор:

Конкатенация строк

Конкатенация строк (сцепление) — это операция объединения строк. Для этой операции в Java используется знак + . К строке можно присоединять не только другую строку, но и значение любого другого типа, которое будет преобразовано к строке автоматически. Как же понять в каких случаях знак + это конкатенация, а в каких случаях арифметическая операция?

Важно запомнить всего два правила:

  • Если один из операндов типа String , то оператор + используется как конкатенация строк.
  • Если оба операнда являются числами, то оператор + используется в качестве сложения.

В этом примере просто объединяем две строки:

public class StringExample1 < public static void main(String[] args) < String str1 = "world"; System.out.println("Hello " + str1); System.out.println("First line\n" + "Second line"); >>

В следующем примере в первом System.out.println на консоль выведется строка «X Y». Мы объединяем char со String — это конкатенация. Во втором же System.out.println на консоль выведется не строка, как многие ожидают, а число 177. Почему число? Тип char является псевдоцелочисленным типом, и может участвовать в арифметических операциях. В данном случае складываются коды символов:

public class StringExample2 < public static void main(String[] args) < char x, y; x = 88; // Код символа 'X' y = 'Y'; System.out.println(x + " " + y); //Выведется X Y System.out.println(x + y); //Выведется 177 >>

В следующем примере на консоль выведется значение «str=48» — не забываем о приоритетах операций. Операция умножения имеет больший приоритет чем сложение:

public class StringExample3 < public static void main(String[] args) < System.out.println("str language-java">public class StringExample4 < public static void main(String[] args) < // Слово "Украина" в кодировке Unicode System.out.println("\u0423\u043A\u0440\u0430\u0438\u043D\u0430"); >>

Чтобы сравнить на равенство две строки, необходимо воспользоваться методом equals() или Objects.equals() (начиная с Java 7):

import java.util.Objects; public class StringExample5 < public static void main(String[] args) < String str1 = "Hello"; String str2 = "Hi"; System.out.println(str1.equals(str2)); System.out.println(Objects.equals(str1, str2)); >>

Длина строки определяется с помощью метода length() :

public class StringExample6 < public static void main(String[] args) < String str = "Hello"; System.out.println("Длина строки: " + str.length()); >>

Презентацию с видео можно скачать на Patreon .

15.4. Java – Метод concat()

Метод concat() – возвращает строку со значением строки, переданной в метод и приложенной к концу строки, используемой для вызова этого метода. Проще говоря метод concat() в Java объединяет строки, путем добавления одной строки в конец к другой.

Синтаксис

public String concat(String s) 

Параметры

Подробная информация о параметрах:

  • s – строка, добавленная к концу этой строки.

Возвращаемое значение

  • В Java concat() возвращает строку, представляющую собой результат объединения символов этого объекта, за которым следует аргумент строки символов.

Пример

public class Test < public static void main(String args[]) < String s = "Я стану программистом!"; s = s.concat(" Очень хорошим программистом!"); System.out.println(s); >> 

Получим следующий результат:

Я стану программистом! Очень хорошим программистом! 

Оглавление

  • 1. Java – Самоучитель для начинающих
  • 2. Java – Обзор языка
  • 3. Java – Установка и настройка
  • 4. Java – Синтаксис
  • 5. Java – Классы и объекты
  • 6. Java – Конструкторы
  • 7. Java – Типы данных и литералы
  • 8. Java – Типы переменных
  • 9. Java – Модификаторы
  • 10. Java – Операторы
  • 11. Java – Циклы и операторы цикла
  • 11.1. Java – Цикл while
  • 11.2. Java – Цикл for
  • 11.3. Java – Улучшенный цикл for
  • 11.4. Java – Цикл do..while
  • 11.5. Java – Оператор break
  • 11.6. Java – Оператор continue
  • 12. Java – Операторы принятия решений
  • 12.1. Java – Оператор if
  • 12.2. Java – Оператор if..else
  • 12.3. Java – Вложенный оператор if
  • 12.4. Java – Оператор switch..case
  • 12.5. Java – Условный оператор (? 🙂
  • 13. Java – Числа
  • 13.1. Java – Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
  • 13.2. Java – Метод compareTo()
  • 13.3. Java – Метод equals()
  • 13.4. Java – Метод valueOf()
  • 13.5. Java – Метод toString()
  • 13.6. Java – Метод parseInt()
  • 13.7. Java – Метод Math.abs()
  • 13.8. Java – Метод Math.ceil()
  • 13.9. Java – Метод Math.floor()
  • 13.10. Java – Метод Math.rint()
  • 13.11. Java – Метод Math.round()
  • 13.12. Java – Метод Math.min()
  • 13.13. Java – Метод Math.max()
  • 13.14. Java – Метод Math.exp()
  • 13.15. Java – Метод Math.log()
  • 13.16. Java – Метод Math.pow()
  • 13.17. Java – Метод Math.sqrt()
  • 13.18. Java – Метод Math.sin()
  • 13.19. Java – Метод Math.cos()
  • 13.20. Java – Метод Math.tan()
  • 13.21. Java – Метод Math.asin()
  • 13.22. Java – Метод Math.acos()
  • 13.23. Java – Метод Math.atan()
  • 13.24. Java – Метод Math.atan2()
  • 13.25. Java – Метод Math.toDegrees()
  • 13.26. Java – Метод Math.toRadians()
  • 13.27. Java – Метод Math.random()
  • 14. Java – Символы
  • 14.1. Java – Метод Character.isLetter()
  • 14.2. Java – Метод Character.isDigit()
  • 14.3. Java – Метод Character.isWhitespace()
  • 14.4. Java – Метод Character.isUpperCase()
  • 14.5. Java – Метод Character.isLowerCase()
  • 14.6. Java – Метод Character.toUpperCase()
  • 14.7. Java – Метод Character.toLowerCase()
  • 14.8. Java – Метод Character.toString()
  • 15. Java – Строки
  • 15.1. Java – Метод charAt()
  • 15.2. Java – Метод compareTo()
  • 15.3. Java – Метод compareToIgnoreCase()
  • 15.4. Java – Метод concat()
  • 15.5. Java – Метод contentEquals()
  • 15.6. Java – Метод copyValueOf()
  • 15.7. Java – Метод endsWith()
  • 15.8. Java – Метод equals()
  • 15.9. Java – Метод equalsIgnoreCase()
  • 15.10. Java – Метод getBytes()
  • 15.11. Java – Метод getChars()
  • 15.12. Java – Метод hashCode()
  • 15.13. Java – Метод indexOf()
  • 15.14. Java – Метод intern()
  • 15.15. Java – Метод lastIndexOf()
  • 15.16. Java – Метод length()
  • 15.17. Java – Метод matches()
  • 15.18. Java – Метод regionMatches()
  • 15.19. Java – Метод replace()
  • 15.20. Java – Метод replaceAll()
  • 15.21. Java – Метод replaceFirst()
  • 15.22. Java – Метод split()
  • 15.23. Java – Метод startsWith()
  • 15.24. Java – Метод subSequence()
  • 15.25. Java – Метод substring()
  • 15.26. Java – Метод toCharArray()
  • 15.27. Java – Метод toLowerCase()
  • 15.28. Java – Метод toString()
  • 15.29. Java – Метод toUpperCase()
  • 15.30. Java – Метод trim()
  • 15.31. Java – Метод valueOf()
  • 15.32. Java – Классы StringBuilder и StringBuffer
  • 15.32.1. Java – Метод append()
  • 15.32.2. Java – Метод reverse()
  • 15.32.3. Java – Метод delete()
  • 15.32.4. Java – Метод insert()
  • 15.32.5. Java – Метод replace()
  • 16. Java – Массивы
  • 17. Java – Дата и время
  • 18. Java – Регулярные выражения
  • 19. Java – Методы
  • 20. Java – Потоки ввода/вывода, файлы и каталоги
  • 20.1. Java – Класс ByteArrayInputStream
  • 20.2. Java – Класс DataInputStream
  • 20.3. Java – Класс ByteArrayOutputStream
  • 20.4. Java – Класс DataOutputStream
  • 20.5. Java – Класс File
  • 20.6. Java – Класс FileReader
  • 20.7. Java – Класс FileWriter
  • 21. Java – Исключения
  • 21.1. Java – Встроенные исключения
  • 22. Java – Вложенные и внутренние классы
  • 23. Java – Наследование
  • 24. Java – Переопределение
  • 25. Java – Полиморфизм
  • 26. Java – Абстракция
  • 27. Java – Инкапсуляция
  • 28. Java – Интерфейсы
  • 29. Java – Пакеты
  • 30. Java – Структуры данных
  • 30.1. Java – Интерфейс Enumeration
  • 30.2. Java – Класс BitSet
  • 30.3. Java – Класс Vector
  • 30.4. Java – Класс Stack
  • 30.5. Java – Класс Dictionary
  • 30.6. Java – Класс Hashtable
  • 30.7. Java – Класс Properties
  • 31. Java – Коллекции
  • 31.1. Java – Интерфейс Collection
  • 31.2. Java – Интерфейс List
  • 31.3. Java – Интерфейс Set
  • 31.4. Java – Интерфейс SortedSet
  • 31.5. Java – Интерфейс Map
  • 31.6. Java – Интерфейс Map.Entry
  • 31.7. Java – Интерфейс SortedMap
  • 31.8. Java – Класс LinkedList
  • 31.9. Java – Класс ArrayList
  • 31.10. Java – Класс HashSet
  • 31.11. Java – Класс LinkedHashSet
  • 31.12. Java – Класс TreeSet
  • 31.13. Java – Класс HashMap
  • 31.14. Java – Класс TreeMap
  • 31.15. Java – Класс WeakHashMap
  • 31.16. Java – Класс LinkedHashMap
  • 31.17. Java – Класс IdentityHashMap
  • 31.18. Java – Алгоритмы Collection
  • 31.19. Java – Iterator и ListIterator
  • 31.20. Java – Comparator
  • 32. Java – Дженерики
  • 33. Java – Сериализация
  • 34. Java – Сеть
  • 34.1. Java – Обработка URL
  • 35. Java – Отправка Email
  • 36. Java – Многопоточность
  • 36.1. Java – Синхронизация потоков
  • 36.2. Java – Межпоточная связь
  • 36.3. Java – Взаимная блокировка потоков
  • 36.4. Java – Управление потоками
  • 37. Java – Основы работы с апплетами
  • 38. Java – Javadoc

Как объединить все элементы в коллекции в одну строку и проставить между ними запятую?

Есть List , типа String , хочу вывести все элементы в одну строчку, через запятую. Как это лучше сделать?

Отслеживать
51.6k 201 201 золотой знак 63 63 серебряных знака 245 245 бронзовых знаков
задан 11 апр 2018 в 12:01
andrey.makhankov andrey.makhankov
71 1 1 серебряный знак 5 5 бронзовых знаков
Вывести на экран в одну строку или создать новый объект, где элементы в одну строку?
11 апр 2018 в 12:37

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Начиная c Java 1.8 можно воспользоваться классом StringJoiner , Collector .

Пример StringJoiner:

 StringJoiner joiner = new StringJoiner(","); for (Item item : list) < joiner.add(item.toString()); >String myString = joiner.toString(); 

Пример Collector:

String myString = list.stream().collect(Collectors.joining(", ")); 

До Java 1.8 можно реализовать это следующим образом:

String delim = ""; for (int i : ints)

Конкатенация строк в Java

конкатенация строк в java

Конкатенация - это синоним слова "объединение". Истоки слова "конкатенация" от латыни: "сon-" означает "вместе", "catena" в переводе с латыни это "цепь". По-русски будет «сцеплять».

2. Где же используется конкатенация в Java?

Ответ: при работе со строками. Конкатенация строк в Java означает, в целом, слияние, "склеивание" двух строк в одну. Давайте рассмотрим на примере.

Пример №1

public class Test < public static void main ( String [ ] args ) < String morning1 = "доброе" ; String morning2 = "не доброе, потому что сегодня понедельник" ; System . out . println ( "Сегодня утро " + morning1 ) ; System . out . println ( "Сегодня утро " + morning2 ) ;

Если Вы попробуете запустить этот код на своём компьютере, то Вы в консоли увидите следующее:

Сегодня утро доброе
Сегодня утро не доброе, потому что сегодня понедельник

Комментарии:

String morning1 = "доброе" ;
String morning2 = "не доброе, потому что сегодня понедельник" ;

В этих 2 строчках мы объявили переменные типа String и присвоили им значения. Итого у нас сейчас с Вами 2 отдельные строчки "доброе" и "не доброе, потому что сегодня понедельник".

System . out . println ( "Сегодня утро " + morning1 ) ;
System . out . println ( "Сегодня утро " + morning2 ) ;

А в этих 2 строчках мы осуществили конкатенацию строк, то есть как бы "склеили" отдельные строчки в одну строчку с помощью оператора +

Пример №2

public class Test < public static void main ( String [ ] args ) < String name = "Виктор" ; String car = "Porsche 918 Spyder" ; System . out . println ( name + " купил " + car ) ;

Если Вы попробуете запустить этот код на своём компьютере, то Вы в консоли увидите следующее:

Виктор купил Porsche 918 Spyder

Комментарии:

String name = "Виктор" ;
String car = "Porsche 918 Spyder" ;

В этих 2 строчках мы объявили переменные типа String и присвоили им значения. Итого у нас сейчас с Вами 2 отдельные строчки "Виктор" и "Porsche 918 Spyder".

System . out . println ( name + " купил " + car ) ;

А в этой строчке мы осуществили конкатенацию строк, то есть как бы "склеили" отдельные строчки в одну строчку с помощью оператора +

Да, уж. Красивую машину купил Виктор. Вот она красавица Porsche 918 Spyder. Эх.

porsche-918_vertex-academy

Почему бы просто не сказать "объединение"?

"Ну, почему бы так и не писать "сцепление" или "объединение", - подумаете Вы. Но я хочу сказать, что есть минимум два повода запомнить именно «конкатенацию».

Во-первых , по-английски объединение строк так и называется – "concatenation" . Поэтому лучше сразу запомнить – легче потом будет общаться с иностранными коллегами.

Во-вторых , конкатенацию строк можно осуществлять не только с помощью оператора +, есть еще несколько способов. Например, часто используемый метод для слияния строк в Java так и называется .concat() – от concatenation, естественно. И он Вам пригодится в будущей работе. Впрочем, это мы рассмотрим с Вами чуть позже в статье concat() в Java.

А пока достаточно знать оператор + для конкатенации.

Подытожим:

1. Конкатенация - это синоним слова "объединение"

konkatenaciya_java_vertex_academy

2. Конкатенация на английском звучит как "concatenation".

3. В Java есть несколько способов объединения строк. Пока мы с Вами знаем только 1 способ - с помощью оператора +

  • ← Установка сертификата SSL на Ubuntu с Apache
  • Как выучить английский? →

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *