public class Example {
@ExampleAnnotation(stringArrayValue = {
"value1", "value2", "value3", "value4", "value5", "value6", "value7", "value8"
})
public void exampleMethod() {
// 在非赋值操作符前换行
method1("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
// 该原则也适用于这些符号:点(.)
method2("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")
.method1("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
// 在赋值操作符(=)后换行
String varWithVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongName =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
// 该原则也适用于foreach语句中的:
for (int anotherVarWithVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongName :
new int[] {0, 1, 2, 4, 5, 6, 7, 8, 9}) {
}
// 方法、构造函数名字和(之间不换行
methodWithVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongName(
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
// 逗号,紧跟前面的内容不换行
methodWithTwoParameter("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
// 至少用8个以上的空格缩进连续的行
methodWithMultipleParameter("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
"如果同一条语句的两行采用同样的缩进,那么它们打头的语法元素必须在语法树上处于同一级"
+ "如果有多行需要换行可以按照需要调整为更多空格", // 不一定需要再次缩进8格,只要比上一级多就行
"如果同一条语句的两行采用同样的缩进,那么它们打头的语法元素必须在语法树上处于同一级");
}
}