Как объединить символы в Java?

Как вы объединить символы в Java? Конкатенация строк требуют только + между строк, но конкатенация символов с помощью + будут меняться на значение типа char в ASCII, и, следовательно, дает численного результата. Я хочу сделать систему.из.метод println(char1+char2+char3... и создать строку слово такой.

Я мог бы сделать

System.out.print(char1);
System.out.print(char2);
System.out.print(char3);

Но, это будет только мне символов в 1 строке. Мне нужно его как строку. Любая помощь будет оценили.

Спасибо

Комментарии к вопросу (1)

Вы хотите, чтобы строки из них?

String s = new StringBuilder().append(char1).append(char2).append(char3).toString();

Обратите внимание, что

String b = "b";
String s = "a" + b + "c";

На самом деле компилируется в

String s = new StringBuilder("a").append(b).append("c").toString();

Редактировать: как litb указал, вы также можете сделать это:

"" + char1 + char2 + char3;

Что компилирует следующее:

new StringBuilder().append("").append(c).append(c1).append(c2).toString();

Редактировать (2): исправил строку дописывать сравнение с, как Клетус указывает на несколько строк обрабатывается компилятором.

Цель заключается в том, чтобы проиллюстрировать то, что компилятор делает, не скажу вам, что вы должны сделать.

Комментарии (7)

Я не'т собираюсь отвечать на этот вопрос, но здесь есть два ответа (которые получают голоса!) это просто неправильно. Рассмотрим эти выражения:

String a = "a" + "b" + "c";
String b = System.getProperty("blah") + "b";

Первый оценивается в компиляции. Второй оценивается в время выполнения.

Так, *никогда не* заменить постоянной связи (любого типа) с StringBuilder, StringBuffer или тому подобное. Использовать только те, где была вовлечена переменных и, как правило, только тогда, когда вы'вновь добавляя большое операндов или вы'повторного добавления в петлю.

Если символы являются постоянными, это нормально:

String s = "" + 'a' + 'b' + 'c';

Однако, если они не'т считаю этот:

String concat(char... chars) {
  if (chars.length == 0) {
    return "";
  }
  StringBuilder s = new StringBuilder(chars.length);
  for (char c : chars) {
    s.append(c);
  }
  return s.toString();
}

в качестве подходящего решения.

Однако некоторые могли бы попытаться оптимизировать:

String s = "Name: '" + name + "'"; // String name;

в этом:

String s = new StringBuilder().append("Name: ").append(name).append("'").toString();

Пока это благие намерения, в сухом остатке Дон'Т.

Почему? В качестве другого ответа правильно указаны: компилятор делает это для вас. Так что, если делать это самостоятельно, вы'повторно не позволяя компилятору оптимизировать код или не в зависимости, если его хорошая идея, код труднее читать и его излишне сложным.

Для низкоуровневой оптимизации компилятору лучше оптимизировать код, чем вы.

Пусть компилятор делать свою работу. В этом случае наихудший сценарий заключается в том, что компилятор неявно изменяет ваш код в точности то, что вы написали. Объединение 2-3 строк может быть более эффективным, чем строительство класса StringBuilder, так что это может быть лучше оставить все как есть. Компилятор знает, что лучше в этом отношении.

Комментарии (3)

Если у вас есть куча чаров и хотите их конкатенацию в строку, почему бы не сделать

System.out.println("" + char1 + char2 + char3); 

?

Комментарии (0)

Вы можете использовать [строки конструктора][1].

System.out.println(new String(new char[]{a,b,c}));

[1]: http://java.sun.com/javase/6/docs/api/java/lang/String.html#String(типа char[])

Комментарии (3)

Вы должны сообщить компилятору, что вы хотите сделать конкатенацию строк, начиная последовательность со строкой, даже пустой. Вот так:

System.out.println("" + char1 + char2 + char3...);
Комментарии (0)
System.out.println(char1+""+char2+char3)

или

String s = char1+""+char2+char3;
Комментарии (0)

публичных инициалы класса {

public static void main (String [] args) {

    char initialA = 'M';
    char initialB = 'P';
    char initialC = 'T';

    System.out.println("" + initialA + initialB + initialC );

}   

}

Комментарии (0)

Вам нужен объект String каким-нибудь, чтобы держать массив сцепленных символов, так как тип char будет содержать только один символ. например,

StringBuilder sb = new StringBuilder('a').append('b').append('c');
System.out.println(sb.toString);
Комментарии (1)

Я не'т действительно считаю себя Java-программист, но просто думал, что я'd-добавить это здесь "полноты" в; Через (в стиле) строку.статический метод format:

String s = String.format("%s%s", 'a', 'b'); // s is "ab"
Комментарии (1)

Это очень простой подход, чтобы объединить или добавить символ

       StringBuilder desc = new StringBuilder(); 
       String Description="this is my land"; 
       desc=desc.append(Description.charAt(i));
Комментарии (0)

простой пример для выбора символа из строки и добавляя к строковой переменной

частная статическую строку findaccountnum(строка holdername, строка мобильного) {

    char n1=holdername.charAt(0);
    char n2=holdername.charAt(1);
    char n3=holdername.charAt(2);
    char n4=mobile.charAt(0);
    char n5=mobile.charAt(1);
    char n6=mobile.charAt(2);
    String number=new StringBuilder().append(n1).append(n2).append(n3).append(n4).append(n5).append(n6).toString();

    return number;
}
Комментарии (0)