Java 1如何大于4?

Java 1如何大于4?,java,collections,set,treeset,Java,Collections,Set,Treeset,Javadoc表示它返回的最大元素严格小于给定元素,如果没有这样的元素,则返回null。为什么这里的输出是1?不是应该是4点吗 NavigableSet original = new TreeSet(); original.add("1"); original.add("2"); original.add("3"); original.add("4"); original.add("10"); Object lower = original.lower("10"); System.out.pri

Javadoc表示它返回的最大元素严格小于给定元素,如果没有这样的元素,则返回
null
。为什么这里的输出是1?不是应该是4点吗

NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");
original.add("4");
original.add("10");
Object lower = original.lower("10");
System.out.println(lower);

因为这些值是
字符串
(s),所以
集合
是通过进行比较的。请不要使用


这是因为这里比较的是字符串,而不是假定的整数。所以集合中的实际顺序是:1,10,2,3,4

使用泛型:
NavigableSet original=new TreeSet()并将值添加为整数:
original.add(1)等等

NavigableSet<Integer> original = new TreeSet<>();
original.add(1);
original.add(2);
original.add(3);
original.add(4);
original.add(10);
Object lower = original.lower(10);
System.out.println(lower);
4