Bug 697 - Cannot infer type arguments for HashMap<>
Summary: Cannot infer type arguments for HashMap<>
Status: RESOLVED FIXED
Alias: None
Product: River-Crossing-Puzzle-Solver
Classification: Unclassified
Component: Solver Mode (show other bugs)
Version: v0.1.0
Hardware: PC Mac OS
: Normal critical
Assignee: tsunychau2-c
URL:
Depends on:
Blocks:
 
Reported: 2022-11-05 22:09 HKT by tsunychau2-c
Modified: 2022-11-05 22:11 HKT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tsunychau2-c 2022-11-05 22:09:41 HKT
Way to Reproduce:

1. Run Main.java inside the folder Default

2. Input "1" in the console for choosing solver mode

3. Input "1" in the console for choosing game level

Actual result:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	Cannot infer type arguments for HashMap<>
	Cannot infer type arguments for HashMap<>

	at Puzzle.PuzzleState.<init>(PuzzleState.java:24)
	at Puzzle.Puzzle.<init>(Puzzle.java:54)
	at Puzzle.UI.SolverModeController.<init>(SolverModeController.java:14)
	at Puzzle.UI.SolverMode.<init>(SolverMode.java:31)
	at Puzzle.UI.GameFlowFactory.getGameFlow(GameFlowFactory.java:6)
	at Puzzle.UI.Main.main(Main.java:34)
	at Default.Main.main(Main.java:5)

Expect Result:

No error shown
Comment 1 tsunychau2-c 2022-11-05 22:09:55 HKT
Bug is confirmed
Comment 2 tsunychau2-c 2022-11-05 22:11:19 HKT
In PuzzleState.java, on line 24 and 25, HashSet should be used instead of HashMap.

Modification of code:

public PuzzleState(ArrayList<String> landA, ArrayList<String> landB, int boatPos) {
		this.landA = landA;
		this.landB = landB;
		this.boatPos = boatPos;
		
		hashLandA = new HashSet<>(landA);
		hashLandB = new HashSet<>(landB);
	}