String[] planets = new String[] { "Mercury", "Venus", "Earth", "Mars",
"Jupiter", "Saturn", "Uranus", "Neptune" };
Run Code Online (Sandbox Code Playgroud)
我有一个简单的行星名称数组,我想要反转添加到数组中的每个名称(不是字符串顺序).
我继续使用lambda语法:
Arrays.sort(planets, (first, second) -> new StringBuilder(first).reverse().toString());
System.out.println(Arrays.toString(planets));
Run Code Online (Sandbox Code Playgroud)
目前我得到:
此行有多个标记
reverse()类型中的方法StringBuilder不适用于参数(String)- 类型不匹配:无法转换
String为int
响应:
谢谢大家的建议...... asList让我走近了.我仍然没有正确排序.
所以我需要找到一种方法使array.sort工作,因为这是赋值(采取array.sort和lambda).
我已经指示教练在这里要求澄清,但我已经没时间了.
这是我的工作,试图保持array.sort
// lambda expression , long to short
System.out.println("5) Sorted by length (descending):");
Arrays.sort(planets, (first, second) -> second.length() - first.length());
System.out.println(Arrays.toString(planets));
// lambda expression , reverse the name , then sort in ascending order
// hint use new StringBuilder(first).reverse().toString() to …Run Code Online (Sandbox Code Playgroud)