[Resolvido] Como montar uma String a partir de valores num ArrayList?

2 respostas
Vin_ius_Abreu_de_Fra

Por exemplo, parecido com um PreparedStatement, quero preencher a String “O valor ‘?’ já está duplicado para a coluna ‘?’.” Onde os valores vem de um ArrayList contendo “2895570” e “RG”.

Alguém me ajuda? Alguma classe que faça isso bem rapidinho?

2 Respostas

W

O mais próximo disso pode ser algo assim:

public static void main(String[] args) {

		
		ArrayList<String> list = new ArrayList<String>();
		
		list.add("Valor1");
		list.add("Valor2");
		list.add("Valor3");
		list.add("Valor4");

		String template = "Primeiro %s, Segundo %s, Terceiro %s, Quarto %s";
		
		System.out.println(format(template, list));
		
	}
	
	public static synchronized String format(String format, ArrayList<String> parameters) {

		// Se não tiver parâmetro, retorna formato sem preencher
		if (parameters == null || parameters.size() == 0)
			return format;

		// Declara vetor para poder utilizar String.format
		String [] strParams = new String[parameters.size()];

		// Converter para vetor simples
		for (int row = 0; row < parameters.size(); row++) {
			strParams[row] = parameters.get(row);
		}
		
		// Cola os parâmetros no formato 
		String umaFrase = String.format(format, strParams);
		
		return umaFrase;

	}

Mas para cada variável do formato, você deve ter um valor cadastrado no array, senão pode ocorrer erro no String.format.

wiliamps

Vin_ius_Abreu_de_Fra

Obrigado! :slight_smile:

Criado 3 de novembro de 2012
Ultima resposta 5 de nov. de 2012
Respostas 2
Participantes 2