2014-10-16 6 views
0

Я хочу как можно короче кодировать. Я пытался использовать «concat», но сталкивался с проблемой, чтобы объединить несколько способов. Может ли concat совместить только два concat (только для concat)?Можно ли комбинировать несколько concat?

String concat1 = "Please Make A Choice :"; 
    String concat2 = "(1) For Calculate Area Of Circle"; 
    String concat3 = "(2) For Calculate Area Of Rectangle"; 
    String concat4 = "(3) For Calculate Area Of Triangle"; 
    String concat5 = concat1.concat(concat2,concat3,concat4); 
+1

Почему бы не назначить отдельную строку? –

+1

'String prompt =" Пожалуйста, сделайте выбор: (1) Для вычисления области круга (2) для вычисления области прямоугольника (3) для вычисления области треугольника "' – clcto

+0

Просто используйте '+' - 'concat1 + concat2 + concat3 + concat4'. –

ответ

2

concat принимает один аргумент String и добавляет его в экземпляр String, на который он вызывается. Подробности см. На странице docs.

Вы можете использовать оператор +, чтобы сделать это

String concat5 = concat1+concat2+concat3+concat4; 

Но следует помнить, что это относительно дорогой процесс, и если вы делаете много конкатенации StringBuilder класс является вещь, чтобы использовать вместо ,

+0

Вне цикла, компилятор обычно будет оптимизирован для 'StringBuilder' в любом случае (' StringBuffer' является старше 'synchronized', и этого следует избегать). Оператор '+' является сокращенным для 'concat'. –

+0

@BoristheSpider не совсем: http://stackoverflow.com/questions/47605/string-concatenation-concat-vs-operator – clcto

+0

Хорошо, справедливо, он вызывает nullsafe 'toString'. –

1

вы можете использовать оператор + для Concat строк, но если вам нужно использовать ключевое слово concat, то это как

concat5= concat1.concat(concat2).concat(concat3).concat(concat4); 
+1

Это тоже работает. –

+0

(Y) yup ... Вы правы. :) – Edie