人.java
package com.example.android.cardview.HackerRank;
/**
* Created by Chhiring on 10/5/2017.
*/
public class Person {
private String mFirstName;
private String mLastNme;
public Person() {
}
public Person(String mFirstName, String mLastNme) {
this.mFirstName = mFirstName;
this.mLastNme = mLastNme;
}
public String getmFirstName() {
return mFirstName;
}
public void setmFirstName(String mFirstName) {
this.mFirstName = mFirstName;
}
public String getmLastNme() {
return mLastNme;
}
public void setmLastNme(String mLastNme) {
this.mLastNme = mLastNme;
}
}
LambdaExpressionExample.java
package com.example.android.cardview.HackerRank;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Created by Chhiring on 10/9/2017.
*/
public class LambdaExpressionExample {
public static void main(String[] args) {
List<Person> myList = new ArrayList<>();
myList.add(new Person("Chhiring", "Gurung"));
myList.add(new Person("Jon", "Skeet"));
myList.add(new Person("Joseph", "Rooney"));
myList.add(new Person("Jack","Johnson"));
System.out.println("Sort Based on first name");
Collections.sort(myList, (o1, o2) -> o1.getmFirstName().compareTo(o2.getmFirstName()));
for(Person p:myList){
System.out.println(p.getmFirstName()+" "+p.getmLastNme());
}
System.out.println("\nSort Based on last name");
Collections.sort(myList, (o1, o2) -> o1.getmLastNme().compareTo(o2.getmLastNme()));
for(Person p:myList){
System.out.println(p.getmFirstName()+" "+p.getmLastNme());
}
}
}
无论何时,我将 new Person 放在列表中并运行LambdaExpressionExample.java
,但它仍然没有给我更新的结果。代码是 100% 正确的。我正在使用安卓工作室。我使用 Jack 是因为我使用 Java 1.8 作为 lambda 表达式。这是我的build.gradle
文件
android {
defaultConfig /* is a com.android.build.gradle.internal.dsl.ProductFlavor */ {
minSdkVersion 11
targetSdkVersion 25
jackOptions {
enabled true
}
}
compileOptions /* is a com.android.build.gradle.internal.CompileOptions */ {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
但是,当我重建并运行时,我看到了更新的结果。为什么是这样?