您当前的位置: 首页 > 

石头wang

暂无认证

  • 1浏览

    0关注

    295博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

有人说没有用到的 import 语句会被忽略,真的这样吗?

石头wang 发布时间:2021-08-14 10:18:04 ,浏览量:1

背景

有人说没有用到的 import 语句会被忽略,真的这样吗? 本工程寻求真相

结论
  • 没有用的 import 语句,在编译过程不会被忽略,比如把 java.util.List 改成 java.util.List2 就会编译失败
  • 假设有 java.util.List 这个没用到的语句,编译出来的class 再反编译回java,会看到这个语句没有了

这个仅仅说明反编译转件会把没有用的import 语句在反编译的时候没有体现出来。不能说明多余的import语句在编译过程会被忽略,实际我长久以来的经验认为是不会被忽略的,况且前面已经证明了故意写错的、多余的 import 语句会在编译过程抛出错误,足以证明 “多余import语句不会在编译过程被忽略”

测试用的代码
package com.wyf.test;
import java.util.List;// 没用到的import

public class Hello {
	
	public static void main(String[] args) {
		System.out.println("Hello");
	}
}
思考

如果要进一步分析,可以 javap -v -p 分析其字节码。我看到的有 import java.util.List; 和没有是完全一样的结果。

但是这并不动摇结论,无用的import语句影响了编译能不能成功,你并不能反编译后看到没有了import语句就认为编译的过程其不起作用。

关注
打赏
1663722529
查看更多评论
立即登录/注册

微信扫码登录

0.0372s