Перепробовал все. Делал инициализацию вот такой:
allKnownCommandsMap.put(Operation.CREATE, new Command() {
@Override
public void execute() {
ZipCreateCommand zipCreateCommand = new ZipCreateCommand();
try {
zipCreateCommand.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
в статическом блоке и не статическом.
Вот такой:
allKnownCommandsMap.put(Operation.ADD, (Command) new ZipAddCommand());
по этой же задаче есть один единственный вопрос, и у него прошло с
allKnownCommandsMap.put(Operation.ADD, new ZipAddCommand());
Но в этом варианте идея подчеркивает "new ZipAddCommand()" и так далее, и предлагает добавить приведение типов к (Command) или добавить к классам- "командам" impliment интерфейса Command, я и так делал и все равно не принимает. Что я еще не попробовал или где ошибся?
package com.javarush.task.task31.task3110;
import com.javarush.task.task31.task3110.command.ExitCommand;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Paths;
/** C:/zzz.zip
* C:/data1.txt
* Created by artc on 19.07.2018.
*/
public class Archiver {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fullPut = reader.readLine();
ZipFileManager zipFileManager = new ZipFileManager(Paths.get(fullPut));
String Put2 = reader.readLine();
zipFileManager.createZip(Paths.get(Put2));
ExitCommand exitCommand = new ExitCommand();
exitCommand.execute();
}
}