以下程序是否保证在未来的Java版本中生成具有相同内容和顺序的列表?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
Collections.shuffle(list, new Random(42));
}
}
java.util.Random
类的javadoc保证,如果在所有未来的Java版本中使用相同的种子进行初始化,则它将始终返回相同的随机数。
但是,java.util.Collections.shuffle()
实用程序函数背后的算法是否有任何保证呢?该实用程序函数的Javadoc没有提到这一点。
我需要这个保证,因为我想确保持久化数据不会在任何未来的Java版本中无用。