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



Я пытаюсь объединить строки в Java. Почему это не работает?



public class StackOverflowTest {  
public static void main(String args[]) {
int theNumber = 42;
System.out.println("Your number is " . theNumber . "!");
}
}
531   19  

19 ответов:

вы можете объединить строки с помощью + оператор:

System.out.println("Your number is " + theNumber + "!");

theNumber неявно преобразуется в строку "42".

оператор конкатенации в java-это +, а не .

читать это (включая все подразделы) перед началом. Попробуйте перестать думать php-способом ;)

чтобы расширить свой взгляд на использование строк в Java-the + оператор для строк фактически преобразуется (компилятором) в нечто подобное:

new StringBuilder().append("firstString").append("secondString").toString()

есть два основных ответа на этот вопрос:

  1. [простая] используйте + оператор (конкатенация строк). "your number is" + theNumber + "!" (как отмечалось в другом месте)
  2. [менее простые]: используйте 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. Самый простой способ

вы можете просто использовать оператор + между a String и любой объект или примитивный тип, он автоматически объединит String и

  1. в случае объекта, стоимостью String.valueOf(obj) соответствующую String "null" если obj is null в противном случае значение obj.toString().
  2. в случае примитивного типа, эквивалент 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 + "!");

"+" вместо "."

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

"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);

здесь "" используется только для космоса.

в Java символом конкатенации является"+", а не".".

"+" не "."

но будьте осторожны с конкатенацией строк. Вот ссылка, представляющая некоторые мысли из 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

    Ничего не найдено.