站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题做实验碰到的一个问题,有知道的达人进来帮帮小弟~~

做实验碰到的一个问题,有知道的达人进来帮帮小弟~~

摘要: 做实验碰到的一个问题,有知道的达人进来帮帮小弟~~


import java.util.*;
import java.math.BigInteger;
public class Factorial4
{
protected static ArrayList table = new ArrayList();
static{table.add(BigInteger.valueOf(1));}
public static synchronized BigInteger factorial(int x)
{
if(x<0) throw new IllegalArgumentException("x must be non-negative.");
for(int size = table.size(); size <= x; size++)
{
BigInteger lastfact = (BigInteger)table.get(size-1);
BigInteger nextfact = lastfact.multiply(BigInteger.valueOf(size));
table.add(nextfact);
}
return (BigInteger)table.get(x);
}
public static void main(String [] args)
{
for(int i = 1; i<=50; i++)
{
System.out.println(i + "!=" + factorial(i));
}
}
}
调试运行出现如下提示:
Note: Factorial4.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.



这跟JDK1.5的新特性“泛型”有关,改成:
protected static ArrayList table = new ArrayList();
就不会提示了。其实不改也可以,java一下就知道,一样可以执行的。
可参考:http://www.javaeye.com/topic/24794


泛型 是个好东西
在JDK5.0推荐使用泛型 ,不使用它就会有警告的,




相当于模版


Thanks!!!


↑返回目录
前一篇: properties 问题
后一篇: 求教enum枚举类的困惑,请大人们指教!!