Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7440209
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T10:49:00+00:00 2026-05-29T10:49:00+00:00

I use toString() method. But I don’t know which implemention is better to use

  • 0

I use toString() method. But I don’t know which implemention is better to use and why:

public String toString() {
    StringBuffer buffer = new StringBuffer();
    buffer.append("Description: " + description + ";");
    buffer.append("Price: " + price);
    return buffer.toString();
}


public String toString() {
    return "Description: " + description + ";" + "Price: " + price;
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T10:49:01+00:00Added an answer on May 29, 2026 at 10:49 am

    Personally I’d use the latter – it’s clearer and is actually more efficient:

    • For modern versions of Java it’ll use the unsynchronized StringBuilder type instead of StringBuffer
    • It won’t construct the intermediate strings for "Price: " + price and "Description: " + description + ";" which are unnecessary,

    Under Java 5+ I’d expect the latter code to be compiled to:

    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("Description: ");
        builder.append(description);
        builder.append(";");
        builder.append("Price");
        builder.append(price);
        return builder.toString();
    }
    

    The important point is the clarity of the second form, however – I certainly find it much simpler to read than the first. One interesting point is that there are two consecutive calls to append with string constants in the compiled version (I’ve checked). It would be slightly more efficient – and even more readable, IMO – to write:

    public String toString() {
        return "Description: " + description + ";Price: " + price;
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I don't know why I have to use Array.toString in the split(String reges) method.
in my classes when writing the toString() method I always use the ToStringBuilder from
This may seem like a dumb question, but still I don't know the answer.
I don't really know much about the internals of compiler and JIT optimizations, but
I have a class that I use for the checking method arguments, which you
So I'm trying to use the new batches functionality to the graph API, which
I want to transfer a list object via Google Gson, but I don't know
The problems are: GUI libraries like to use ToString as a default representation for
I used to use the implicit call of toString when wanting some debug info
Is it possible to use [Range] annotation for dates? something like [Range(typeof(DateTime), DateTime.MinValue.ToString(), DateTime.Today.ToString())]

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.