javapoet:如何使用变量初始化数组大小?

时间:2018-07-09 16:01:18

标签: java javapoet

我必须使用可变的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?

0 个答案:

没有答案