JAVA常见bug

Arrays.asList()

  1. 描述:此方法目的是把一个数组转换成集合。
  2. 注意点:
    1. 由于asList产生的集合元素是直接引用作为参数的数组,所以当外部数组或集合改变时,数组和集合会同步变化。
    2. 由于asList产生的集合并没有重写add,remove等方法,所以它会调用父类AbstractList的方法,而父类的方法中抛出的却是异常信息。
    3. 返回的虽然是List接口,但是使用的实现类是java.util.arrays.ArrayList类。而不是java.util.ArrayList类。
  3. 解决方案:把转换过来的list作为ArrayList的构造函数参数。

maven打包, jdk新语法特性报错

  1. 描述: 使用maven打包, 开发中idea不会报错,但是打包之后,运行jar报错。
  2. 解决方案
    1. idea中报错,jdk新语法报错, File->project Structure ->project, 设置project jdk以及project language level。
    2. maven打成jar之后报错,需要配置maven compiler plugin。
<build>
	<plugins>
		<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
						<configuraion>
								<source>1.8</source>
								<target>1.8</target>
						</configuration>
		</plugin>
	</plugins>
</build>

猜你喜欢

转载自blog.csdn.net/weixin_38608626/article/details/91415050