java - Eclipse 会编译出未使用的局部变量吗?

标签 java eclipse

考虑以下代码:

 public String foo(){
      String bar = doStuff();
      return bar;
 }

然后:

 public void test(){
      doSomeLogicHere();
      String result = foo();
 }

请注意,在 test 中,我在函数末尾得到了一个名为 result 的字符串。 Eclipse 知道这是一个未使用的变量,因为它会发出警告。我想知道的是,这些字符串是否被编译出来,就好像调用只是 foo() 而没有保存返回的字符串?如果我在不使用 String result = 时注释掉它,我会减少内存消耗还是没有关系,因为 String 仍然生成并在 foo() 中返回?

我在像这样编写的应用程序中有一些调试逻辑,我想知道是否值得为发布/不使用它们时注释掉所有字符串。

最佳答案

据我所知,编译器不会自动删除未使用的变量。这通常是优化器/混淆器的工作。

例如,在 Android 中 ProGuard在 Release模式下构建 Android 应用程序时删除所有未使用的变量。

关于java - Eclipse 会编译出未使用的局部变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102985/

相关文章:

eclipse - 如何使用 Eclipse 自动格式化 drools 文件?

java - 下载完成后自动打开文件PDF

java - 如何将方法输出传递到数组元素中?

java - map View 的 AlertDialog.Builder 的默认上下文?

java - AJAX 与表单提交

Eclipse:无法像在 Netbean 上那样运行 servlet:HTTP 状态 404

java - eclipse Indigo中的 "create project from existing source"在哪里?

java - 当子实体与父实体之间存在一对一的 JPA 关系时,是否可以将子实体与父实体一起保留?

使用 BouncyCaSTLe 进行 Java 签名文件 - 使用 secret key 环创建文件签名

java - 在 Eclipse 和 Java 中使用 m4 宏