2015-07-30 2 views
1

Этот пример прямо из документов на http://super-csv.github.io/super-csv/examples_reading.html не компилируется. Все строки в новом CellProcessor [] {...} генерируют ошибку «Несовместимые типы. Требуется: CellProcessor Найдено: org.supercsv.cellprocessor.constraint.UniqueHashCode»Пример Supercsv не компилируется

Что мне не хватает?

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\\._][email protected][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; 
    } 

} 
+1

Вы не импортируете 'CellProcessor' add' import org.supercsv.cellprocessor.ift.CellProcessor; ', отлично работает – Epicblood

+0

@Epicblood благодарит, что работает, создавая это как ответ, и я буду отмечать ответ как правильный ? – fred

+1

добавил это как ответ, не уверен, что IDE вы используете, но [IntelliJ] (https://www.jetbrains.com/idea/) делает вещи, подобные этому супер очевидным. – Epicblood

ответ

1

Я просто попытался это в IntelliJ, единственное, что не так это то, что вам не хватает на импорт для CellProcessor.

добавить

import org.supercsv.cellprocessor.ift.CellProcessor; 

и все должно работать.

+1

Спасибо. Я могу быть идиотом, но я все равно буду упоминать, насколько важно это, если применимо, включать весь импорт в документах и ​​примерах. – fred

+1

Да, я обычно не помещаю импорт в примеры, потому что они занимают слишком много места. Но вы заметите, что есть [ссылка на полный источник] (http: // super-csv. github.io/super-csv/xref-test/org/supercsv/example/Reading.html) этих примеров в верхней части страницы. –

Смежные вопросы