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:
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);
}
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:
ah, agora entendi!!!
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…