Supercsv 示例无法编译
Supercsv example doesn't compile
这个直接来自 http://super-csv.github.io/super-csv/examples_reading.html 文档的示例无法编译。 new CellProcessor[]{...} 中的所有行都会生成错误 "Incompatible types. Required: CellProcessor Found:org.supercsv.cellprocessor.constraint.UniqueHashCode"
我错过了什么?
import org.supercsv.cellprocessor.Optional;
import org.supercsv.cellprocessor.ParseBool;
import org.supercsv.cellprocessor.ParseDate;
import org.supercsv.cellprocessor.ParseInt;
import org.supercsv.cellprocessor.constraint.LMinMax;
import org.supercsv.cellprocessor.constraint.NotNull;
import org.supercsv.cellprocessor.constraint.StrRegEx;
import org.supercsv.cellprocessor.constraint.UniqueHashCode;
public class Foo {
private static CellProcessor[] getProcessors() {
final String emailRegex = "[a-z0-9\._]+@[a-z0-9\.]+"; // just an example, not very robust!
StrRegEx.registerMessage(emailRegex, "must be a valid email address");
final CellProcessor[] processors = new CellProcessor[] {
new UniqueHashCode(), // customerNo (must be unique)
new NotNull(), // firstName
new NotNull(), // lastName
new ParseDate("dd/MM/yyyy"), // birthDate
new NotNull(), // mailingAddress
new Optional(new ParseBool()), // married
new Optional(new ParseInt()), // numberOfKids
new NotNull(), // favouriteQuote
new StrRegEx(emailRegex), // email
new LMinMax(0L, LMinMax.MAX_LONG) // loyaltyPoints
};
return processors;
}
}
我刚刚在 IntelliJ 中尝试过,唯一的错误是您缺少 CellProcessor
的导入。
添加
import org.supercsv.cellprocessor.ift.CellProcessor;
一切正常。
这个直接来自 http://super-csv.github.io/super-csv/examples_reading.html 文档的示例无法编译。 new CellProcessor[]{...} 中的所有行都会生成错误 "Incompatible types. Required: CellProcessor Found:org.supercsv.cellprocessor.constraint.UniqueHashCode"
我错过了什么?
import org.supercsv.cellprocessor.Optional;
import org.supercsv.cellprocessor.ParseBool;
import org.supercsv.cellprocessor.ParseDate;
import org.supercsv.cellprocessor.ParseInt;
import org.supercsv.cellprocessor.constraint.LMinMax;
import org.supercsv.cellprocessor.constraint.NotNull;
import org.supercsv.cellprocessor.constraint.StrRegEx;
import org.supercsv.cellprocessor.constraint.UniqueHashCode;
public class Foo {
private static CellProcessor[] getProcessors() {
final String emailRegex = "[a-z0-9\._]+@[a-z0-9\.]+"; // just an example, not very robust!
StrRegEx.registerMessage(emailRegex, "must be a valid email address");
final CellProcessor[] processors = new CellProcessor[] {
new UniqueHashCode(), // customerNo (must be unique)
new NotNull(), // firstName
new NotNull(), // lastName
new ParseDate("dd/MM/yyyy"), // birthDate
new NotNull(), // mailingAddress
new Optional(new ParseBool()), // married
new Optional(new ParseInt()), // numberOfKids
new NotNull(), // favouriteQuote
new StrRegEx(emailRegex), // email
new LMinMax(0L, LMinMax.MAX_LONG) // loyaltyPoints
};
return processors;
}
}
我刚刚在 IntelliJ 中尝试过,唯一的错误是您缺少 CellProcessor
的导入。
添加
import org.supercsv.cellprocessor.ift.CellProcessor;
一切正常。