我得到了"匿名新的runnable()可以替换为lambda"警告与以下代码.
final ScrollView sv = (ScrollView) findViewById(R.id.scrollView);
sv.post(new Runnable() {
@Override
public void run() {
sv.fullScroll(ScrollView.FOCUS_DOWN);
}
});
Run Code Online (Sandbox Code Playgroud)
我非常努力地在Google上搜索,似乎是使用lambda表达式重写...
final ScrollView sv = (ScrollView) findViewById(R.id.scrollView);
Runnable test = () -> sv.fullScroll(ScrollView.FOCUS_DOWN);
test.run();
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行应用程序时,Android Studio会因错误而停止,如下所示:
Error:(78, 40) error: lambda expressions are not supported in -source 1.7
(use -source 8 or higher to enable lambda expressions)
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么Android Studio让我使用lambda表达式,即使它无法编译.这是一个错误吗?
此外,我尝试使用gradle-retrolambda,但它很难用于biginner.
由于我无法编译我的代码,我不确定上述lambda expresssion是否正确.
在我看来,IDE不应该抱怨代码无法编译.所以我认为应该抑制使用lambda表达式的警告.但我不知道怎么会......
任何帮助表示赞赏.
我有一个分支,它将系统星期几整数值替换为人类可读的字符串值.
当我使用如下所示的if-else语句时,Android Studio 1.1不会发出任何警告.
int intDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String curStrDayOfWeek = "";
if (intDayOfWeek == 1) {
curStrDayOfWeek = getResources().getString(R.string.sunday);
}
else if(intDayOfWeek == 2) {
curStrDayOfWeek = getResources().getString(R.string.monday);
}
else if(intDayOfWeek == 3) {
curStrDayOfWeek = getResources().getString(R.string.tuesday);
}
[SNIP]
globals = (Globals) this.getApplication();
try {
[SNIP]
globals.hdsr_data.put("currentDayOfWeek", curStrDayOfWeek);
[SNIP]
catch (Exception e) {
System.out.println("Error:" + e);
}
[SNIP]
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试使用如下所示的switch-case语句,它会警告值getResources().从不使用分配给curStrDayOfWeek的getString(R.string.sunday).然后我得到了6个警告,因为值有7个分支.
int intDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
switch (intDayOfWeek) {
case 1 : curStrDayOfWeek = getResources().getString(R.string.sunday);
case 2 : curStrDayOfWeek = getResources().getString(R.string.monday);
case …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个 shell 脚本来卸载/挂载 OS X 上的所有外部驱动器。
我的磁盘列表如下:
$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 499.4 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD *496.3 GB disk1
Logical Volume on disk0s2
AE949253-803C-49DC-93EA-7DFC74C2EAA2
Unencrypted
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS Time Machine 999.9 …
Run Code Online (Sandbox Code Playgroud)