zwracana wartość z StringBuilder

0

Mam pytanie. W przedostatniej linijce wywołuję metodę to String. Wraca ona obiekt klasy String zawierający sekwencję znaków znajdującą się w obiekcie builder, a następnie przypisuję do kompletnyString.
Pytanie: Czy mogę też napisać w ostatniej linijce System.out.print(builder);?? Zwraca to samo, ale czy to poprawnie z punktu dobrego programowania?

 
public class nowy {
    public static void main(String[] args) {
    StringBuilder builder = new StringBuilder();
    builder.append("jestem: ");
    builder.append("xz");
    String kompletnyString = builder.toString();
    System.out.print(kompletnyString);



    }
}

0

Jak najbardziej jest to poprawne. Dzieje się tak dlatego że klasa StringBuilder posiada przesłoniętą metodę ToString(); z java.lang.Object. Podobnie będzie w takim przypadku tylko że w C#.

  class Program
    {
        static void Main(string[] args)
        {
            var klasa = new Class1();
            Console.WriteLine(klasa);
            Console.ReadLine();
        }
    }

    public class Class1
    {
        public override string ToString()
        {
            return "Przesłonieta metoda";
        }
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1