blob: 18152fb63069a2f9efd15ed4b2f7a152b1b5fd18 [file] [log] [blame]
// Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// This code is not run directly. It needs to be compiled to dex code.
// 'stringbuilding.dex' is what is run.
package stringbuilding;
class StringBuilding {
static class X {
public String toString() {
return "an X";
}
}
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
buildWithStatements(builder);
buildWithExpressions(builder);
System.out.print(builder);
System.out.println(buildWithConcat());
System.out.print(buildWithAllAppendSignatures());
}
private static void buildWithStatements(StringBuilder builder) {
builder.append("a");
builder.append(2);
builder.append("c");
builder.append("-");
}
private static void buildWithExpressions(StringBuilder builder) {
builder.append("x").append('y').append("z").append("-");
}
private static String buildWithConcat() {
return "a" + "b" + "c" + someValue() + "x" + "y" + "z";
}
private static String buildWithAllAppendSignatures() {
CharSequence seq = "1234";
StringBuilder builder = new StringBuilder();
builder
.append(true)
.append('A')
.append(new char[]{'B', 'C'})
.append(new char[]{'C', 'D', 'E', 'F'}, 1, 2)
.append(seq)
.append(seq, 1, 3)
.append(2.2)
.append(1.1f)
.append(0)
.append(1L)
.append(new X())
.append("string")
.append(new StringBuilder("builder"));
return builder.toString();
}
private static int someValue() {
return 7;
}
}