尝试使用printf打印数组时java.util.IllegalFormatConversionException

时间:2017-10-26 13:31:36

标签: java

我试图打印字符数组中的每个元素。

为什么我会收到script2.sh

//Setup dynamic list of endpoints
List<String> toDefs = new ArrayList<String>();
toDefs.add("mock:a");
toDefs.add("mock:b");

//We need to modify the definition, so get the reference
LoadBalanceDefinition loadBalanceDefinition = 
  from("dirct:start")
    .loadBalance()
    .failover();

//Dynamically add the list of endpoints         
for (String toDef: toDefs){
  loadBalanceDefinition = loadBalanceDefinition.to(toDef);
}

//Finalize the route            
loadBalanceDefinition.to("direct:end");

1 个答案:

答案 0 :(得分:2)

您正在将char[]作为单个字符格式%c传递。

Java中的数组是一个Object,应该格式化为String表示形式(所以%s)。

在您的情况下,由于数组的默认String表示不太可能是您想要的,因此您可以使用%s的组合并将其传递给Arrays.toString(ch)或{{1 (感谢Axel)。