使用Java 8 Lambda表达式
我为两个Android Studio都使用Java JDK版本jdk1.8.0_77。
我也在gradle中添加jackOptions
我已经创建了一个简单的列表,并添加了方法过滤器并进行了排序,但是经过很长一段时间,我一直没有搜索任何解决方案。
摇篮文件
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
jackOptions {
enabled true
}
applicationId "com.mobisharnam.meme"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
主要活动
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<String> list =
Arrays.asList("a1", "a2", "a3", "b1", "c2", "c1");
list.stream().
filter(s -> s.startsWith("c")).
sorted().forEach(s -> Log.d("TEST", s));
}
}
最佳答案
问题是您没有正确地链接流方法,可以查看以下代码:
list.stream().
filter(s -> s.startsWith("c")).
sorted().forEach(s -> Log.d("TEST", s));