Como reavaliar uma String?

como faço pra reavaliar uma String?

ex…

String s = new String("makako"); 

// aki a String s tem que ser reavaliada pois não quero instanciar um objeto MinhaClasse com o nome de s e sim com o valor da String, ou seja, makako.

MinhaClasse s = new MinhaClasse(); 

makako.setAlgumavar("lala"); 

não vai existir o objeto s e sim, vai existir o objeto makako… mais pra isso preciso de alguma função que reavalie a string s.

semelhante ao eval em algumas linguagens.

tem como? deve ter pq todas linguagens tem isso.

Eu não entendi o que você quis dizer com reavaliar uma String.

Mas de qualquer jeito, ao invés de criar uma String assim:

  String s = new String("makako"); 

crie assim:

  String s = "makako"; 

Pois dessa segunda forma, você cria apenas um objeto String. Em Java, existe um mecanismo chamado de pool de Strings. Observe o código abaixo:

  String s1 = new String("makako"); 
  String s2 = new String("makako"); 
  String s3 = new String("makako"); 

Esse código cria 4 objetos na memória. Um para o valor literal “makako” e mais um objetos para cada new que você faz. Agora observe este outro código:

  String s1 = "makako"; 
  String s2 = "makako"; 
  String s3 = "makako"; 

Dessa vez, apenas 1 objeto será criado.

Entendeu?

[quote=“Celino”]como faço pra reavaliar uma String?

ex…

String s = new String("makako"); 

// aki a String s tem que ser reavaliada pois não quero instanciar um objeto MinhaClasse com o nome de s e sim com o valor da String, ou seja, makako.

MinhaClasse s = new MinhaClasse(); 

makako.setAlgumavar("lala"); 

não vai existir o objeto s e sim, vai existir o objeto makako… mais pra isso preciso de alguma função que reavalie a string s.

semelhante ao eval em algumas linguagens.

tem como? deve ter pq todas linguagens tem isso.[/quote]

kra, não entendi direito q vc quer, oq seria reavaliar a String?

vc quer transformar o conteudo de uma string num objeto?

É isso?

tipo assim: transformar “1 + 1” em 2?

até onde eu sei não tem nada pronto

xiiii agora que complicou mesmo …
eu nao entendi o que vc quer nao !
explica melhor ai

Oi!
Por acaso vc estaria queredo uma forma de vc setar uma string na sua classe sem ter que usar um método SET()??
Pelo menos é isso que eu estou entendendo de vc…
Esperimente isso:

[code]public class minhaClasse extends String
{
String qualquer;

minhaClasse (String qualquer)
{
    this.qualquer = super (qualquer);
}

}[/code]

Pelo meos foi isso que eu entendi!

putz… nimguem entendeu…

vo mostrar uma classe em Action Script com adpatação em java (pacaba…)

class Reavaliando {

  String s = new String("flamerda");

  String s.eval() = String("corinthians");

  public Reavaliando() {
  System.out.println(s);
  System.out.println(flamerda);
 }
}

o resultado de uma instanciação dessa classe seria… duas “variaveis” s e flamerda… pq s e flamerda, pq na segunda declaração s foi reavaliado e foi instanciado uma nova string com com o nome de flamerda e não s.

o resultado no console seria…

flamerda
corinthians

se ainda ninmguem entender é pq num existe em java… :sad:

ai fudeu…

ah, agora entendi!!! :grin:
kra, na boa, não quero falar besteira, mas tentei fazer isso com Reflection e não consegui kra…
não sei se vai ter jeito não…
se alguém souber, postae…

[]'s