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.
jemoliveira:
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?
sowyer
Janeiro 13, 2009, 7:36pm
#11
só que uma garante a sincronização e o outro não …
mas vou ficar devendo agora quem é quem …
:oops: :oops: :oops:
[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.