StringBuilder with some text in red overriding toString in Java

java stringbuilder
stringbuilder tostring java
java override tostring best practices
override tostring java
stringbuilder tostring c#
override tostring java inheritance
java tostring override not working
convert stringbuilder to string array in java

I have been asked to Override the method toString of MyClass using StringBuilder and I have to append some text in red so it will look like that:

Name: Tom

Surname: Baker

Age: 17 --> Text in Red

Code:

@Override
public String toString(){

    StringBuilder sb = new StringBuilder;
    sb.append("Name:"+this.name+"\n");
    sb.append("Surname:"+this.surname+"\n");
    sb.append("Age:"+this.age+"\n");

    return sb.toString();
}
Edit

Thank you for your answers.

  • The program is for a university assignment and it is being coded using Eclipse.

  • It is basic Java (not RXJava)

  • The output will be visualised through the console.

  • The teacher ask that but I feel it is not possible.

Since text printed on System.err is normally reported in red, you might try this:

public class MyClass
{
  .....

  @Override
  public String toString()
  {
    StringBuilder sb = new StringBuilder();
    sb.append("Name: " + name);
    sb.append(System.lineSeparator());
    sb.append("Surname: " + surname);
    return (sb.toString());
  }

  public void printAge(PrintStream stream)
  {
    stream.println("Age: " + age);
  }

} // class MyClass

...
MyClass my_instance;
my_instance = new MyClass();
...
System.out.println(my_instance);
System.out.flush() // make sure everything's printed before doing something on stderr
my_instance.printAge(System.err);
System.err.flush() // make sure everything's printed before doing something on stdout again
System.out.println("Anything else to print");
...

StringBuilder toString() method in Java with Examples , A new String object is created and initialized to get the character sequence from this StringBuilder object and then String is returned by toString(). Subsequent  ToStringBuilder is a utility class provided by apache commons lang library. ToStringBuilder is a utility class provided by apache commons lang library. It provides a consistent and better control over what and how much data, an object should expose using toString() method and in which format. It can also help in removing the code size […]

If the output is going to a colour terminal emulator, then you can insert the relevant control codes. There are mechanisms to determine terminal types, such as environment variables ($TERM) and telnet uses a negotiation system (WILL/WONT/DO/DONT, IIRC), but for your purposes you can probably just make the assumption.

Typically a baseline would be vt100 terminal emulation with "ANSI colors". Google for the codes. I get http://wiki.bash-hackers.org/scripting/terminalcodes.

Purpose of Overriding toString() Method in Java, What is the purpose of toString() method in Java?If we want to represent an object of a class as a String, then we can use the toString() method wh email; } public String toString() { StringBuilder sb = new StringBuilder();  The java.lang.StringBuilder.toString() method returns a string representing the data in this sequence. A new String object is allocated and initialized to contain the character sequence currently represented by this object. Declaration. Following is the declaration for java.lang.StringBuilder.toString() method. public String toString

You can find all the info you need in the comments you have been given.

Look here if you want a simple wrapup:

On an ANSI terminal (Linux eg.), you could achieve that by inserting ANSI Escape sequences

System.out.println("Hello \033[31mWorld\033[0m!");

But that won’t work on a Windows console.

On a Windows console, you’ll have to use a third party library, like JAnsi

import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.AnsiConsole;

public class Main {
    public static void main(final String[] args) {
        AnsiConsole.systemInstall();
        System.out.println(Ansi.ansi().render("Hello @|red World|@!"));
        AnsiConsole.systemUninstall();
    }
}

Java EE 8 Development with Eclipse: Develop, test, and , Develop, test, and troubleshoot Java Enterprise applications rapidly with Eclipse, 3rd Using WebServlet, we are telling the servlet container that LoginServlet is a servlet, and These methods are overridden from the following base class: HttpServlet. protected String createForm(String errMsg) { StringBuilder sb = new  In this article to we will see how to override the toString method and what are the best practices in Java. Java provides a default implementation for the method toString through a class java.lang.Object which is inherited by all Java classes .

Solutions to Exercises, The purpose of the Java compiler is to translate source code into instructions. (​and associated To call a superclass method from its overriding subclass method, prefix the superclass Object's toString() method returns a string representation of the current The AmericanRobin Class Denoting a Bird with a Red Breast. StringBuilder Class in Java with Examples The StringBuilder in Java represents a mutable sequence of characters. Since the String Class in Java creates an immutable sequence of characters, the StringBuilder class provides an alternative to String Class , as it creates a mutable sequence of characters.

Java Code Examples java.lang.StringBuilder, Методы Object */ @Override public String toString() { StringBuilder result=new StringBuilder(); for(int n=0; n<this.transitions.size(); n++) { result.append("#");  NOTE:In all wrapper classes, all collection classes, String class, StringBuffer, StringBuilder classes toString() method is overriden for meaningful String representation. Hence, it is highly recommended to override toString() method in our class also.

Java Code Examples java.lang.StringBuilder.append, Методы Object */ @Override public String toString() { StringBuilder result=new StringBuilder(); for(int n=0; n<this.transitions.size(); n++) { result.append("#");  When implementing toString, StringBuilder can be used instead of the + concatenation operator, since the StringBuilder.append operation is slightly faster. Example 1. import java.util.*; import java.time.LocalDate; public final class Truck { /** Simple test harness.

Comments
  • StringBuilder and String do not have a color per se. The color would have to come from somewhere else, e.g. HTML. Can you add another tag to make your question clear?
  • Generally there is no such thing as "red text". Text is just a combination of bytes encoded on your screen to represent a sequence of characters. You need to specificy whether you are working with a Rich Text Format or other formats or we won't be able to help you here.
  • Could you specify what kind of program is it? It is a web application or desktop using Swing or JavaFX
  • Expanding on @TimBiegeleisen's comment, how to colorize the text (and whether that's possible at all) depends entirely on the output mechanism. If it's going to be printed on a terminal, ANSI escape codes are the way to go. If it's going to be rendered in a browser, use html (and make sure nothing is escaped). If it's Swing of JavaFX, html can also be used depending on how exactly the text is passed to the UI.
  • stackoverflow.com/questions/1448858/… Also check this please
  • Thank you very much