Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

incompatible types: java.util.List<java.lang.Object> cannot be converted to java.util.List<br.com.joaoreisdev.model.Produto>

Ao realizar as devidas importações o meu compilador me retorna o seguinte erro:

'incompatible types: java.util.List<java.lang.Object> cannot be converted to java.util.List<br.com.joaoreisdev.model.Produto>'

Main.Java

package br.com.joaoreisdev;

import br.com.joaoreisdev.model.Produto;
import com.opencsv.bean.CsvToBeanBuilder;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.List;

//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
    public static void main(String[] args) throws FileNotFoundException {
        List<Produto> produtos = new CsvToBeanBuilder<>(new FileReader("src/main/resources/products.csv"))
                .withType(Produto.class).build().parse();

        for (Produto produto: produtos){
            System.out.println(produto);
        }

    }
}

Produto.java

package br.com.joaoreisdev.model;

import com.opencsv.bean.CsvBindByName;

import java.math.BigDecimal;

public class Produto {

    @CsvBindByName(column = "ProductID", required = true)
    private int id;
    @CsvBindByName(column = "ProductName", required = true)
    private String name;
    @CsvBindByName(column = "Description", required = true)
    private String description;
    @CsvBindByName(column = "Price", required = true)
    private BigDecimal price;
    @CsvBindByName(column = "Category", required = true)
    private String category;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }
}

1 resposta
solução!

Remover o "<>" da linha abaixo:

List<Produto> produtos = new CsvToBeanBuilder<>(new FileReader("src/main/resources/products.csv"))

Ficando assim:

List<Produto> produtos = new CsvToBeanBuilder(new FileReader("src/main/resources/products.csv"))