Ayuda en java

B

Buenas!mi problemilla es el siguiente, estoy creando un metodo y el problema me viene que quiero en una string concatenar los caracteres que voy sacando de una variable, como puedo hacer para que pueda ir concatenando los caracteres?
Os dejo el codigo del metodo aqui:

spoiler

El donde pone String caracteres me gustaria saber que tengo que hacer para que el valor de c me lo valla concatenando en esa variable.

PiradoIV

La clase String tiene un método concat que hace lo que necesitas.

String magdalenas = "Mag";
magdalenas.concat("dalenas");
System.out.println(magdalenas); // Salida: Magdalenas
B

Es que no se si de esta otra manera que te voy a poner aqui funcionara:

spoiler

Sabes si de esta manera se podria?
De todas maneras lo e exo con "String.valueOf" que funciona, pero en clase no lo emos visto lo cual nose si podre utilizarlo o no.
Gracias xla ayuda.

D

si ya existe un metodo para concatenar caracteres o strings, usalo xD

PiradoIV

La otra manera de concatenar...

String s = "Ho";
s = s + "la";

Le puedes ir metiendo caracter a caracter, pero vamos, siempre que puedas usar un método específico para lo que estás buscando... mucho mejor, porque normalmente son los más optimizados (o los que, sin modificar tu código, más optimizados estarán en futuras versiones de Java).

Dod-Evers

Nooo

Utilizad StringBuffer para hacer cosas de concatenar!

Si utilizáis String a = "abc" + "cde"; lo que hace es crear muchos objetos String.

Para explicarlo mejor buscad StringBuffer vs String en google y hay miles de explicaciones.

StringBuffer resultado = new StringBuffer();

y luego con lo que te vaya dango la gana haces resultado.concat("palabraEncriptada");

D

de hecho creo que cuando usas String, "x debajo" Java utiliza StringBuffers.

Dod-Evers

Según la API tienes razón:

String concatenation is implemented through the StringBuilder(or StringBuffer)

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

Según estos, que miran el bytecode:

http://java4ever.blogspot.com/2007/03/string-vs-stringbuffer-vs-stringbuilder.html

A lo que voy, que si quiere hacerlo, que lo haga como quiera, pero si quiere evitar problemas por rendimiento o darle más rapidez (para 2 palabras igual no se nota), que use los StringBuffer.

smintcs

bueno igual me estoy meando totalmente fuera porque hace bastante que no toco java, pero en principio si tengo un String y cualquier objeto no puedo hacer

String nombre = "pac";
int letra = 14;
nombre+=String.valueOf(letra); // nombre = nombre + String.valueOf(letra)

D

#9 estoy en Eclipse ara mismo, y no salta ningun error, asi q tb se puede hacer

Dod-Evers

Sí, es por que automáticamente llama a los métodos toString de los objetos, si lo tienen, claro... Si son ints, hace la conversión.

Usuarios habituales