9
votes

Java Méthode Appel enchaînant dans le contexte statique

dans la classe StringBuilder, je peux faire comme ceci:

StringBuilder sb = new StringBuilder();
sb.append( "asd").append(34);


2 commentaires

Que voulez-vous dire par "dans StringBuilder Class" - vous ne pouvez pas éditer la classe


Par contexte statique, voulez-vous faire quelque chose comme StringBuilder.append ()? Si c'est pourquoi voudriez-vous le faire?


5 Réponses :


2
votes

Voulez-vous cela? XXX

Peut-être que je ne comprends pas la question (contexte statique) correctement

voulez-vous dire cela?

statique { < p>} // Bien sûr, vous pouvez le faire, trop

sinon tout dessus, vous ne pouvez pas passer sans méthode statique car append () n'est pas statique


0 commentaires

1
votes

Vous voulez que le modèle de constructeur sur une statique? N ° de mieux pour convertir vos statiques en cas.


0 commentaires

6
votes

Ceci s'appelle Méthode-chaîning .

Pour le faire, vous avez toujours besoin d'un objet instancié. Donc, désolé, mais vous ne pouvez pas le faire dans un contexte statique car il n'y a pas d'objet associé à cela.


1 commentaires

Ce n'est pas vrai. J'ai honte de cette communauté que personne ne l'a remarqué et a commenté en 11 ans.



14
votes

Oui. Comme ceci (non testé).

Static.doStuff(...).doOtherStuff(...).doStuff(...);


2 commentaires

L'instance doit être statique dans ce cas.


@Guisonghe Soin pour expliquer?



1
votes

Comme dit ici , vous pouvez simplement retourner null . Par exemple: xxx


1 commentaires

Il est étrange de retourner null . Vous vous attendez à ce que cela jette une NPE, mais cela fonctionne réellement!