Problemas em converter object em string

pessoal tenho uma duvida

estou tentando converter uma um objetc em um array

public BusinessResponse processRequest(BusinessRequest req) 
	throws BusinessException {
		 
		DynamicClientFactory dcf = DynamicClientFactory.newInstance();
		Object infos = null;
		Object formatedFile = null;
		try {
			
			Client client = dcf.createClient(this.urlService);
			infos = req.getObject();
			
			formatedFile = client.invoke("montarDiario", new Object[] {infos.toString(), ""});
		} catch (Exception e) {
			throw new BusinessException(e); 
		}
		
		BusinessResponse resp = new BusinessResponse();
		resp.setObject(formatedFile);
		return resp;
	}

esse minha variavel infos vem com informações

qd chega nessa linha tenho que converter ele como string senão ele da problema de cast
formatedFile = client.invoke(“montarDiario”, new Object[] {infos.toString(), “”});

ate ai tudo bem o unico problema que ao invez de retornar as informações numa string ele vem com o nome do objeto: [[Ljava.lang.String;@4f0da9]

espero por respostas

Se infos é uma String que vem em forma de Object, basta fazer um cast direto, como:

String texto = "Olá mundo!";
Object o = texto;
System.out.println(o); // vai imprimir a referência de memória do objeto
System.out.println((String) o); // o String entre parentêses faz o cast e imprime-se Olá mundo!

fiz isso

formatedFile = client.invoke(“montarDiario”, new Object[] {(String) infos, “”});
e me dei pau de Cast

java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String

uma forma que não sei se da pra fazer
meu formatedFile retorno o nome do objeto, tem como ele me retornar os dados com uma conversão ou algo do tipo?

Você está tentando converter um array de Strings para um String.

isso mesmo!!!

Isso mesmo o quê? Quer concatenar essas Strings dentro de uma só? Terá algum caracter para indicar quando uma String termina?

então
quero concatenar esse meu array de string em uma string só, mais não existe caracter que diz quando termina

Se você quer concatenar todas as Strings em uma só, poderia usar:

public String concatenaTudo(String... array) {
    StringBuffer sb = new StringBuffer();
    for (String s : array) {
        sb.apend(s);
        sb.apend("\n");
    }
    return sb.toString();
}

public static void main(String[] args) {
    String[] strings = {"linha1", "linha2", "linha3"};
    System.out.printl(concatenaTudo(string));
}

Não testei, mas não custa tentar. Qualquer coisa, poste aqui.

Este método deve servir p/ transformar String[] em String

private String flatten (String[] array)
{
  StringBuilder sb = new StringBuilder();

  for (String s : array)
    sb.append(s);

  return sb.toString();
}

[quote=Bruno Laturner]Este método deve servir p/ transformar String[] em String

[code]
private String flatten (String[] array)
{
StringBuilder sb = new StringBuilder();

for (String s : array)
sb.append(s);

return sb.toString();
}
[/code][/quote]
Qual a diferença em usar StringBuilder e StringBuffer?

só que uma garante a sincronização e o outro não …

mas vou ficar devendo agora quem é quem …

:oops: :oops: :oops:

Dica… Consulte a API.

http://java.sun.com/javase/6/docs/api/

[quote=sowyer]só que uma garante a sincronização e o outro não …

mas vou ficar devendo agora quem é quem …

:oops: :oops: :oops: [/quote]
Exatamente. StringBuffer é thread-safe, enquanto StringBuilder não garante questões de sincronização.