tenho a seguinte instrução abaixo que declara uma constanta em C#, gostaria de saber se existe algo similar em java? Notem que o “@” permite eu escrever várias linhas no texto, mas no valor da String eles ficam sem os (CR).
public const string SQL_MEMBER_FULL_PROFILE_ID = @"
SELECT *
FROM members_main a
WHERE a.member_id = @MemberID
";
String resposta = "nao existe "+
"nada parecido " +
"na linguagem Java "+
"mas se vc nao consegue "+
"fazer sua String caber "+
"numa linha soh, vc pode "+
"concatenar varias Strings "+
"em multiplas linhas, que o "+
"compilador se vira pra "+
"colocar tudo numa String soh.";
E isso é uma das coisas mais chatas de manter em um código Java. Se seus SQLs tiverem mais de 10 linhas, pense seriamente em um modo de tirá-los do código Java e colocar em algum arquivo externo (XML ou Properties, por exemplo).
Existem certas coisas que são “bad smells” (coisas que em um programa Java são suspeitas e merecem reformulação:)
switch / case com muitas opções;
uso excessivo do instanceof;
strings constantes muito grandes.
No primeiro caso e no segundo, provavelmente você está precisando de um esquema de “subclassing”.
No terceiro caso, provavelmente a tal string constante muito grande é um SQL ou XML que deveria estar em um arquivo separado.