Consistent Map/Set ordering

Use LinkedHashMaps/Sets wherever exposed to users, and code tests defensively in terms of expected Map/Set ordering. Otherwise, there'll be runtime order differences between JDK 7 and JDK 8 due to internal HashMap/Set implementation differences.

Issue: SPR-9639
(cherry picked from commit 9c09a0a)
This commit is contained in:
Juergen Hoeller
2013-04-23 13:53:09 +02:00
committed by unknown
parent d0513f7521
commit 5bdd2d245c
18 changed files with 145 additions and 195 deletions

View File

@@ -3,6 +3,7 @@ package org.springframework.expression.spel.testresources;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -30,8 +31,8 @@ public class Inventor {
private boolean accessedThroughGetSet;
public List<Integer> listOfInteger = new ArrayList<Integer>();
public List<Boolean> booleanList = new ArrayList<Boolean>();
public Map<String,Boolean> mapOfStringToBoolean = new HashMap<String,Boolean>();
public Map<Integer,String> mapOfNumbersUpToTen = new HashMap<Integer,String>();
public Map<String,Boolean> mapOfStringToBoolean = new LinkedHashMap<String,Boolean>();
public Map<Integer,String> mapOfNumbersUpToTen = new LinkedHashMap<Integer,String>();
public List<Integer> listOfNumbersUpToTen = new ArrayList<Integer>();
public List<Integer> listOneFive = new ArrayList<Integer>();
public String[] stringArrayOfThreeItems = new String[]{"1","2","3"};