Skip to content

Instantly share code, notes, and snippets.

@birchestx
Created July 22, 2015 02:47
Show Gist options
  • Save birchestx/8c372849e4eb77c1e0f7 to your computer and use it in GitHub Desktop.
Save birchestx/8c372849e4eb77c1e0f7 to your computer and use it in GitHub Desktop.
Better template for Java toString() - Puts newlines.
public java.lang.String toString() {
final String newLine = System.getProperty("line.separator");
final java.lang.StringBuffer sb = new java.lang.StringBuffer("$classname{");
#set ($i = 0)
#foreach ($member in $members)
sb.append(newLine);
#if ($i == 0)
sb.append(" ##
#else
sb.append(" ##
#end
#if ($member.string)
$member.name='")##
#else
$member.name=")##
#end
#if ($member.primitiveArray)
;
if ($member.name == null) ##
sb.append("null");
else {
sb.append('[');
for (int i = 0; i < $member.name .length; ++i)
sb.append(i == 0 ? "" : ", ").append($member.name [i]);
sb.append(']');
}
#elseif ($member.objectArray)
.append($member.name == null ? "null" : java.util.Arrays.asList($member.name).toString());
#elseif ($member.string)
.append($member.accessor).append('\'');
#else
.append($member.accessor);
#end
#set ($i = $i + 1)
#end
sb.append('}');
sb.append(newLine);
return sb.toString();
}
@birchestx
Copy link
Author

In IntelliJ can add this as a template, just Generate toString then click on settings at top.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment