OVH Cloud OVH Cloud

ajouter des méthodes à String

13 réponses
Avatar
yvon.thoravalNO-SPAM
J'essaie d'ajouter des méthodes à String et Eclipse me dit :

"Link all references for a local rename"

Ce que je ne pige pas du tout...

public class TString extends String {
[...]
public TString() {
super();
mInput = super.toString();
}
public String ltrim(int pLength) {...}
[...]
}

Eclipse n'aime pas le "String" de "public class TString extends String"
--
yt

10 réponses

1 2
Avatar
Pierre Crescenzo
Bonjour,

Eclipse n'aime pas le "String" de "public class TString extends
String"


La classe "String" est "final". Cela signifie qu'il n'est pas possible
d'en hériter (pour raison de sécurité si je me souviens bien).

A+

[CITATION ALÉATOIRE : L'égalité entre les hommes est une règle qui ne
compte que des exceptions. Ernest Jaubert]

--
Pierre Crescenzo
mailto:
http://www.crescenzo.nom.fr/

Avatar
no.bcausse.spam
Pierre Crescenzo wrote:

La classe "String" est "final". Cela signifie qu'il n'est pas possible
d'en hériter (pour raison de sécurité si je me souviens bien).


d'optimisation, plutot

--
bruno Causse
http://perso.wanadoo.fr/othello

Avatar
Braim
Salut,
En effet, String est final et ne peut pas être redéfini.
Mais tu peux très bien faire un truc dans le genre

public class TString {
private aString = new String();
[...]
public TString () {
mInput = aString.toString();
}
[...]
}
_______________________________________-
Braim
http://www.braim.be

J'essaie d'ajouter des méthodes à String et Eclipse me dit :

"Link all references for a local rename"

Ce que je ne pige pas du tout...

public class TString extends String {
[...]
public TString() {
super();
mInput = super.toString();
}
public String ltrim(int pLength) {...}
[...]
}

Eclipse n'aime pas le "String" de "public class TString extends String"


Avatar
yvon.thoravalNO-SPAM
Braim wrote:

En effet, String est final et ne peut pas être redéfini.
Mais tu peux très bien faire un truc dans le genre

public class TString {
private aString = new String();


OK, merci à tous !
--
yt

Avatar
yvon.thoravalNO-SPAM
Erwan David wrote:


Y'a pas que Eclipse : java.lang.String est une classe final.


Oui, oui, c'est ce que j'ai appris par ce petit bout d'essai...

Question : puis-je faire en sorte que le constructeur retourne une
String ?

Pour l'instant je dois faire :

TString an = new TString(appellationName, 40);

puis :

an.toString();

pour obtenir le résultat du trim à la longueur 40.

avec :

public String toString() {
return (mRight) ? r_trim""""() : l_trim""""();
}

je peux très bien appeller ce pseudo toString() dans les différents
constructeurs MAIS, je ne vois pas comment retourner la valeur ???

exemple :

TString an = new TString("toto", 8);

je voudrais que an = "toto "; sans appeller an.toString(); est-ce
possible ???
--
yt

Avatar
no.bcausse.spam
Yvon Thoraval wrote:

Erwan David wrote:


Y'a pas que Eclipse : java.lang.String est une classe final.


Oui, oui, c'est ce que j'ai appris par ce petit bout d'essai...

Question : puis-je faire en sorte que le constructeur retourne une
String ?

Pour l'instant je dois faire :

TString an = new TString(appellationName, 40);

puis :

an.toString();

pour obtenir le résultat du trim à la longueur 40.

avec :

public String toString() {
return (mRight) ? r_trim""""() : l_trim""""();
}

je peux très bien appeller ce pseudo toString() dans les différents
constructeurs MAIS, je ne vois pas comment retourner la valeur ???

exemple :

TString an = new TString("toto", 8);

je voudrais que an = "toto "; sans appeller an.toString(); est-ce
possible ???


si c'est juste pour retourner une string de longueur fixe une methode
static suffit.
--
bruno Causse
http://perso.wanadoo.fr/othello


Avatar
Black Myst
Yvon Thoraval wrote:
Erwan David wrote:


Y'a pas que Eclipse : java.lang.String est une classe final.



Oui, oui, c'est ce que j'ai appris par ce petit bout d'essai...

Question : puis-je faire en sorte que le constructeur retourne une
String ?

Pour l'instant je dois faire :

TString an = new TString(appellationName, 40);

puis :

an.toString();

pour obtenir le résultat du trim à la longueur 40.

avec :

public String toString() {
return (mRight) ? r_trim""""() : l_trim""""();
}

je peux très bien appeller ce pseudo toString() dans les différents
constructeurs MAIS, je ne vois pas comment retourner la valeur ???

exemple :

TString an = new TString("toto", 8);

je voudrais que an = "toto "; sans appeller an.toString(); est-ce
possible ???


Non

Perso, dans des comme celui-la, je préfère créer une classe "boite à
outils" contenant plein de méthode static.
class StringTK {
public static String XXXX( String myString, int lenght ) {
return .......;
}
}


String test = StringTK.XXXXX("toto",8);


Avatar
no.bcausse.spam
Black Myst <Black_point_myst_chez_free_fr> wrote:

Yvon Thoraval wrote:
Erwan David wrote:


Y'a pas que Eclipse : java.lang.String est une classe final.



Oui, oui, c'est ce que j'ai appris par ce petit bout d'essai...

Question : puis-je faire en sorte que le constructeur retourne une
String ?

Pour l'instant je dois faire :

TString an = new TString(appellationName, 40);

puis :

an.toString();

pour obtenir le résultat du trim à la longueur 40.

avec :

public String toString() {
return (mRight) ? r_trim""""() : l_trim""""();
}

je peux très bien appeller ce pseudo toString() dans les différents
constructeurs MAIS, je ne vois pas comment retourner la valeur ???

exemple :

TString an = new TString("toto", 8);

je voudrais que an = "toto "; sans appeller an.toString(); est-ce
possible ???


Non

Perso, dans des comme celui-la, je préfère créer une classe "boite à
outils" contenant plein de méthode static.
class StringTK {
public static String XXXX( String myString, int lenght ) {
return .......;
}
}


String test = StringTK.XXXXX("toto",8);


pas sur un truc du genre

dans la classe mettre une methode static

static String newInstance(TString obj, String s, int lenght) {
obj = new TString(s, lenght)
return obj.toString();
}
--
bruno Causse
http://perso.wanadoo.fr/othello



Avatar
no.bcausse.spam
Causse Bruno wrote:

Black Myst <Black_point_myst_chez_free_fr> wrote:

Yvon Thoraval wrote:
Erwan David wrote:


Y'a pas que Eclipse : java.lang.String est une classe final.



Oui, oui, c'est ce que j'ai appris par ce petit bout d'essai...

Question : puis-je faire en sorte que le constructeur retourne une
String ?

Pour l'instant je dois faire :

TString an = new TString(appellationName, 40);

puis :

an.toString();

pour obtenir le résultat du trim à la longueur 40.

avec :

public String toString() {
return (mRight) ? r_trim""""() : l_trim""""();
}

je peux très bien appeller ce pseudo toString() dans les différents
constructeurs MAIS, je ne vois pas comment retourner la valeur ???

exemple :

TString an = new TString("toto", 8);

je voudrais que an = "toto "; sans appeller an.toString(); est-ce
possible ???


Non

Perso, dans des comme celui-la, je préfère créer une classe "boite à
outils" contenant plein de méthode static.
class StringTK {
public static String XXXX( String myString, int lenght ) {
return .......;
}
}


String test = StringTK.XXXXX("toto",8);


pas sur un truc du genre

dans la classe mettre une methode static

static String newInstance(TString obj, String s, int lenght) {
obj = new TString(s, lenght)
return obj.toString();
}


non c'est une connerie
--
bruno Causse
http://perso.wanadoo.fr/othello




Avatar
Pierre Crescenzo
Bonjour,

La classe "String" est "final". Cela signifie qu'il n'est pas
possible d'en hériter (pour raison de sécurité si je me souviens
bien).


d'optimisation, plutot


J'ai retrouvé l'argument "sécurité" (ce qui n'exclut peut-être pas
l'autre) :
<http://java.sun.com/docs/books/tutorial/java/javaOO/final.html>.

A+

[CITATION ALÉATOIRE : Mon mari est archéologue. Plus je vieillis, plus
je l'intéresse. Agatha Christie]

--
Pierre Crescenzo
mailto:
http://www.crescenzo.nom.fr/


1 2