我必须使用可变的size()初始化数组。我发现这种丑陋的方式:
@Test
public void testStringArrayFakeInit() {
String expected = "java.lang.String[] names = new java.lang.String[list.size()]";
ArrayTypeName stringArray = ArrayTypeName.of(String.class);
String literal = "list.size()";
CodeBlock block = CodeBlock.builder()
.add("$1T names = new $2T[$3L]", stringArray, String.class, literal).build();
assertEquals(expected, block.toString());
}
是否有一种更优雅的方式而不通过原始类型String.class?