gpt4 book ai didi

java - 方法 : CSVFormat. withDelimiter() 的签名不适用于参数类型 : [;]?

转载 作者:行者123 更新时间:2023-12-01 10:02:10 25 4
gpt4 key购买 nike

我想使用 Apache commons CSV 解析器解析 CSV 文件,但 groovy 在传递分隔符“;”时抛出异常作为 char,因为 groovy 传递 java.lang.Character 并且该方法需要原始 char。我在单元测试中使用 groovy,java 7。

有人知道如何解决这个问题吗?

//Create the CSVFormat object
CSVFormat format = CSVFormat.RFC4180.withHeader().withDelimiter(';');

//initialize the CSVParser object
CSVParser parser = new CSVParser(new FileReader(filePath), format);


groovy.lang.MissingMethodException: No signature of method: org.apache.commons.csv.CSVFormat.withDelimiter() is applicable for argument types: (java.lang.String) values: [,]
Possible solutions: withDelimiter(char), getDelimiter()
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at test.ca.azb.j2ee.obb3.TestPersistence.testLoadHyrCsvToHyrTable(TestPersistence.groovy:226)

最佳答案

实际上,Groovy 正在传递一个String

groovy.lang.MissingMethodException: No signature of method: org.apache.commonsormat.withDelimiter() is applicable for argument types: (java.lang.String)...

';' 是一个字符串,但您可以 turn it into a character :

CSVFormat format = CSVFormat.RFC4180.withHeader().withDelimiter(';' as char)

';' as char 实际上会生成一个 java.lang.Character,但 Groovy 会为您解开它以生成该方法所需的 char

关于java - 方法 : CSVFormat. withDelimiter() 的签名不适用于参数类型 : [;]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36716577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com