Using Google Guava’s Objects.ToStringHelper

I have a little trick for Guava’s com.google.common.base.MoreObjects.toStringHelper(). I configured IntelliJ IDEA to use it when auto-generating toString() methods. I assume you can do the same in Eclipse. Here’s how to do it in Intellij:

  • go inside a class
  • hit Alt + Insert to popup the “Generate” menu
  • choose toString()
  • click the “Settings” button
  • go to the “Templates” tab
  • create a new template named “Guava’s MoreObjects.toStringHelper()” (I did it by copying the “ToStringBuilder” template)
  • change the template to:

    public String toString() {
    #set ($autoImportPackages = "com.google.common.base.MoreObjects")
        return MoreObjects.toStringHelper(this)
    #foreach ($member in $members)
        .add("$member.name", $member.accessor)
    #end
        .toString();
    }
    
  • save the template, close the “Settings” and “Generate toString()” windows

  • you can now choose the Guava's MoreObjects.toStringHelper() template when generating toString() methods

When you add a new field to the class, simply re-generate the toString() method (IDEA will ask you to confirm that you want to replace the existing toString() method).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)