不兼容类型:java.lang,字符串不能转换为java,util.List< java.lang.String>

sauutmhj  于 2023-04-28  发布在  Java
关注(0)|答案(3)|浏览(728)

我如何转换这个?

Sort sort = new Sort(Sort.Direction.DESC, MTS_DATE_CREATED_STRING);
private Sort(Sort.Direction direction, List<String> properties) {       
}
yzxexxkh

yzxexxkh1#

As compiler suggest error意味着Java编译器无法解析赋值给变量或方法返回的值,因为其类型与变量或方法上声明的类型不兼容,并且无法将String转换为List<String> i。e

private Sort(Sort.Direction direction, List<String> properties)

进入

private Sort(Sort.Direction direction, String properties)
ipakzgxi

ipakzgxi2#

该方法接受List,但您传递的是单个String。将该String Package 在List中,然后可以将其传递给现有方法。

Sort sort = new Sort(Sort.Direction.DESC, Arrays.asList(MTS_DATE_CREATED_STRING));

有问题的方法是私有的,这意味着您可以控制它所在的类。在这种情况下,可以添加该方法的重载版本以接受单个String。

private Sort(Sort.Direction direction, String property) { ... }

和/或接受任意数量的String而不使用集合的varargs版本。..

private Sort(Sort.Direction direction, String... properties) { ... }
nukf8bse

nukf8bse3#

只是从

Sort sort = new Sort(Sort.Direction.DESC, Arrays.asList(MTS_DATE_CREATED_STRING));

TO

Sort sort = Sort.by(Sort.Direction.DESC, MTS_DATE_CREATED_STRING);

相关问题