JAVA 8 Значения памяти / коллекции / списка для назначения из списка объекту - PullRequest
0 голосов
/ 26 сентября 2018

Я очень новичок в программировании на Java и, следовательно, этот запрос.У меня есть класс, который определяет объект с помощью String, LocalDate, Boolean, Double.В основном, я прочитал из входного файла.Используя Файл, Линии, Путь.Я храню его в списке.

как назначить каждое значение каждому полю в определении объекта?Попробовал следующее, но получил ошибку, что он не определен как тип String.

    package com.bapu;
    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.time.LocalDate;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.stream.*;

    public class App {
        public static void main(String[] args) throws IOException{
            String inputFileName = "e:/input/instruct.csv";     
            List<String> list = new ArrayList<>();
            try {
                list = Files.lines(Paths.get(inputFileName))
                .map(s -> s.trim())
                .skip(1)
                .collect(Collectors.toList());          
             } catch (IOException e) {
            e.printStackTrace(); 
         }
         // list.forEach(System.out::println);      

            List<Instruction1> instruct1 = list.stream()
                    .map(p -> { 
                        Instruction1 instruct2 = new ClientInstructions(                        
                        instruct1.setClientName(p.getClientName()),
                        instruct1.setFlag(p.getFlag()), // etc etc......
                        //return instruct1; 
                        );  })                  
                     .collect(Collectors.toList());
        } // main()
    } //class()

In another java file , I have the class object defined.
    package com.bapu;   
    import java.time.LocalDate;
    public class Instruction1 {

    private String clientName;
    private Boolean flag ;
    //  etc etc variables
    public Instruction1(String clName1, Boolean flag1.... ) {
        super();
        this.clientName= clName1;
        this.flag = flag1;
    } // argument Constructor

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
       }   
        /// all getters setters. followed hereafter
     }

    }  // class Instruction1

Не понимая поток информационной логики здесь.Запрос руководства.Большое спасибо заранее.

1 Ответ

0 голосов
/ 26 сентября 2018

Может ли это вам помочь?

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.function.BiFunction;
import java.util.stream.Collectors;

class Instruction {
    private String clientName;
    private Boolean flag;

    public Instruction(String clientName, Boolean flag) {
        super();
        this.clientName = clientName;
        this.flag = flag;
    }

    @Override
    public String toString() {

        return String.format("ClientName : %s, Flag : %s", this.clientName,
                this.flag);
    }
}

public class App {

    static BiFunction<String, Boolean, Instruction> createInstrucationFn = (
            client, flag) -> new Instruction(client, flag);

    public static void main(String[] args) throws IOException {

        String inputFileName = "e:/input/instruct.csv";

        List<String> dataLine = Files.readAllLines(Paths.get(inputFileName));

        List<Instruction> instructionList = dataLine
                .stream()
                .map(line -> {
                    String[] pairs = line.split(",");
                    return createInstrucationFn.apply(pairs[0], Boolean.valueOf(pairs[1]));
                }).collect(Collectors.toList());

        instructionList.forEach(System.out::println);

    }
}

Для этого примера файл предполагается подобным.

Client-A,true
Client-B,true

Выход:

ClientName : Client-A, Flag : true
ClientName : Client-B, Flag : true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...