47 我在方法里修改了一个对象的值,但是退出方法后我发现这个对象的值没变!
答:很可能你把传入参数重赋了一个新对象,例如下列代码就会造成这种错误:
public void fun1(A a) //a是局部参数,指向了一个外在对象。
{
a.setAttr(attr);//修改了新对象的值,外在对象没有被修改。
}
基本类型也会出现这种情况。例如:
public void fun2(int a)
{
a = 10;//只作用于本方法,外面的变量不会变化。
}
六、java.util篇
48 java能动态分配数组吗?
答:可以。例如int n = 3; Language[] myLanguages = new Language[n];
49 我怎么知道数组的长度?
答:用length属性。如上例中的 myLanguages.length 就为 3。
50 我还想让数组的长度能自动改变,能够增加/删除元素。
答:用顺序表--java.util.List接口。你可以选择用ArrayList或是LinkedList,前者是数组实现,后者是链表实现。例如:
List list = new ArrayList();
或是
List list = new LinkedList();
51 什么是链表?为什么要有两种实现?
答:请补习数据结构。
52 我想用队列/栈。
答:用java.util.LinkedList。
53 我希望不要有重复的元素。
答:用集合--java.util.Set接口。例如:Set set = new HashSet()。
54 我想遍历集合/Map。
答:用java.util.Iterator。参见API。
55 我还要能够排序。
答:用java.util.TreeSet。例如:Set set = new TreeSet()。放进去的元素会自动排序。你需要为元素实现Comparable接口,还可能需要提供equals()方法,compareTo()方法,hashCode()方法。
56 但是我想给数组排序。
答:java.util.Arrays类包含了sort等实用方法。
57 我想按不同方法排序。
答:为每种方法定义一个实现了接口Comparator的类并和Arrays综合运用。
58 Map有什么用?
答:存储key-value的关键字-值对,你可以通过关键字来快速存取相应的值。
59 set方法没问题,但是get方法返回的是Object。
答:强制类型转换成你需要的类型。参见45。
60 我要获得一个随机数。
答:使用java.util.Random类。
61 我比较两个String总是false,但是它们明明都是"abc" !
答:比较String一定要使用equals或equalsIgnoreCase方法,不要使用 == !
==比较的是两个引用(变量)是否指向了同一个对象,而不是比较其内容。
62 我想修改一个String但是在String类中没找到编辑方法。
答:使用StringBuffer类。
String str = "......."; //待处理的字符串
StringBuffer buffer = new StringBuffer(str); //使用该字符串初始化一个
StringBuf
fer
buffer.append("..."); //调用StringBuffer的相关API来编辑字符串
String str2 = buffer.toString(); //获得编辑后的字符串
另外,如果你需要将多个字符串连接起来,请尽量避免使用+号直接连接,而是使用StringBuffer.append()方法。
63 我想处理日期/时间。
答:使用java.util.Date类。你可以使用java.text.SimpleDateFormat类来在String和Date间互相转换。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //规定日期格式
Date date = formatter.parse("2003-07-26 18:30:35"); //将符合格式的String转换为Date
String s = formatter.format(date); //将Date转换为符合格式的String
关于定义日期格式的详细信息请参见API。
通告:http://www.qqread.com/java/w200425006.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Java环境安装配置 (5627篇文章)
- Solaris基础知识入门 (4621篇文章)
- Java编程开发手册 (8276篇文章)
- Java安装相关 (311篇文章)
- 掌握JAVA的标准 (26次浏览)
- Ubuntu Linux系统中Java环境的安装配置 (25次浏览)
- JAVA编译时的常见错误 (25次浏览)
- 系统构建高性能J2EE应用的五种核心策略 (18次浏览)
- 如何在MyEclipse快速搭建Hibernate应用 (15次浏览)
- Nhibernate与代码生成器介绍 (14次浏览)
- 高手为你分析类的设计方法 (12次浏览)
- Java中利用反射实现类的动态加载 (12次浏览)
- JAVA运行时的产间错误 (11次浏览)
- J2SE综合:浅谈java程序发布之 jre 篇 (11次浏览)



