19 ответов:
вы можете объединить строки с помощью
+оператор:System.out.println("Your number is " + theNumber + "!");
theNumberнеявно преобразуется в строку"42".
оператор конкатенации в java-это
+, а не.читать это (включая все подразделы) перед началом. Попробуйте перестать думать php-способом ;)
чтобы расширить свой взгляд на использование строк в Java-the
+оператор для строк фактически преобразуется (компилятором) в нечто подобное:new StringBuilder().append("firstString").append("secondString").toString()
есть два основных ответа на этот вопрос:
- [простая] используйте
+оператор (конкатенация строк)."your number is" + theNumber + "!"(как отмечалось в другом месте)- [менее простые]: используйте
StringBuilder(илиStringBuffer).StringBuilder value; value.append("your number is"); value.append(theNumber); value.append("!"); value.toString();я рекомендую против штабелировать деятельности как это:
new StringBuilder().append("I").append("like to write").append("confusing code");Edit: начиная с java 5 оператор конкатенации строк переводится в
StringBuilderвызовы компилятором. Из-за этого оба метода выше равны.Примечание: Spaceisavaluablecommodity, asthissentancedemonstrates.
предостережение: Пример 1 ниже генерирует несколько
StringBuilderэкземпляры и менее эффективны, чем Пример 2 нижеПример 1
String Blam = one + two; Blam += three + four; Blam += five + six;Пример 2
String Blam = one + two + three + four + five + six;
из коробки у вас есть 3 способы чтобы ввести значение переменной в
Stringкак вы пытаетесь достичь:1. Самый простой способ
вы можете просто использовать оператор
+между aStringи любой объект или примитивный тип, он автоматически объединитStringи
- в случае объекта, стоимостью
String.valueOf(obj)соответствующуюString"null" еслиobjisnullв противном случае значениеobj.toString().- в случае примитивного типа, эквивалент
String.valueOf(<primitive-type>).с номера
путь java 8:
StringJoiner sj1 = new StringJoiner(", "); String joined = sj1.add("one").add("two").toString(); // one, two System.out.println(joined); StringJoiner sj2 = new StringJoiner(", ","{", "}"); String joined2 = sj2.add("Jake").add("John").add("Carl").toString(); // {Jake, John, Carl} System.out.println(joined2);
для точной операции конкатенации двух строк, пожалуйста, используйте:
file_names = file_names.concat(file_names1);в вашем случае использовать
+вместо.
для лучшей производительности используйте
str1.concat(str2)здесьstr1иstr2- это строковые переменные.
вы должны быть программистом PHP.
использовать
+знак.System.out.println("Your number is " + theNumber + "!");
Это должно работать
public class StackOverflowTest { public static void main(String args[]) { int theNumber = 42; System.out.println("Your number is " + theNumber + "!"); } }
в java concatenate символ"
+". Если вы пытаетесь объединить две или три строки при использовании jdbc, то используйте это:String u = t1.getString(); String v = t2.getString(); String w = t3.getString(); String X = u + "" + v + "" + w; st.setString(1, X);здесь "" используется только для космоса.
"+" не "."
но будьте осторожны с конкатенацией строк. Вот ссылка, представляющая некоторые мысли из IBM DeveloperWorks.
Первый метод: вы можете использовать знак "+" для объединения строк, но это всегда происходит в печати. Другой способ: класс String включает в себя метод для объединения двух строк: string1.concat (string2);
import com.google.common.base.Joiner; String delimiter = ""; Joiner.on(delimiter).join(Lists.newArrayList("Your number is ", 47, "!"));Это может быть излишним, чтобы ответить на вопрос op, но хорошо знать о более сложных операциях соединения. Этот вопрос stackoverflow занимает высокое место в общем поиске google в этой области, поэтому хорошо знать.
вы можете использовать stringbuffer, stringbuilder и, как все до меня упоминали,"+". Я не уверен, насколько быстро " + " (я думаю, что это самый быстрый для более коротких строк), но для более длинных я думаю, что builder и buffer примерно равны (builder немного быстрее, потому что он не синхронизирован).
вы можете объединить строки с помощью
+оператор:String a="hello "; String b="world."; System.out.println(a+b);выход:
hello world.вот это
вот пример для чтения и объединить 2 строки без использования 3-й переменной:
public class Demo { public static void main(String args[]) throws Exception { InputStreamReader r=new InputStreamReader(System.in); BufferedReader br = new BufferedReader(r); System.out.println("enter your first string"); String str1 = br.readLine(); System.out.println("enter your second string"); String str2 = br.readLine(); System.out.println("concatenated string is:" + str1 + str2); } }
Comments