我正在使用带有Gradle构建的Android工作室.我在设备上测试我的应用程序,让Android Studio和Gradle构建应用程序并将其安装在设备上.在安装新版本之前,如何告诉Gradle或Android Studio从设备上卸载应用程序?
我已经反编译了一个使用新的Java 7字符串切换功能的非常简单的类.
班级:
public class StringSwitch {
public static void main(String[] args) {
final String color = "red";
switch (color) {
case "red":
System.out.println("IS RED!");
break;
case "black":
System.out.println("IS BLACK");
break;
case "blue":
System.out.println("IS BLUE");
break;
case "green":
System.out.println("IS GREEN");
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
针对此类运行Java 7"javap",会生成一组有趣的指令(完整的反汇编代码可在此处获得):
public static void main(java.lang.String[]);
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
...
12: lookupswitch { // 4
112785: 56
3027034: 84
93818879: 70
98619139: 98
default: 109
}
56: aload_2
57: ldc …
Run Code Online (Sandbox Code Playgroud) 在Eclipse中,在这样的行之后:
List list = new ArrayList();
在下面键入"for",然后键入"ctrl-space"(默认情况下),将带来几个选项,可以帮助完成这个"for循环":
但是如果变量"list"被声明远离此处(例如作为类字段),可能无法从此上下文直接推断,或者声明了许多列表,则协助不能正常工作:
@@分界线---
在某些情况下,Eclipse可以提供帮助,但只是不适用于成员变量.例如,手动输入"另一个"并在":"之后输入,并没有说服Eclipse猜测它....
(PS可行案例:
自动猜到了
输入想要的名字,然后输入,效果很好
)
在这种情况下,有没有人有任何提示让这种援助工作?
我想知道是否有人在使用Eclipse编译JDK 7代码时遇到问题?因为目前我只能在Eclipse中使用JRE 7来测试运行,但至于尝试在我的代码中使用JDK 7功能,它会说它不支持.
使用Eclise JDT,我需要检索任何ASTNode的子代。我可以在某处使用实用程序方法吗?
我现在唯一想到的方法是子类化ASTVisitor并手动处理每种节点以找到其子节点。但是研究每种节点类型需要大量工作。
我发誓我到处寻找,并禁用了几乎所有东西(插入匹配的括号等),但是当我输入一个左括号并按下回车键时,它会使用一个标签自动缩进下一行.有没有办法禁用这种"方便"的"商品"?