通行证: 用户 密码
http://www.pconline.cn/
汽车网 | 游戏网 | 时尚女性
分站:北京 上海 广州 深圳 香港
广西 重庆 山东 江苏 辽宁 福建
首 页 | 今日报价 | 产业资讯 | 数码世界 | 硬件资讯 | 软件资讯 | 下 载 | 游 戏 |
论 坛 | 产 品 库 | 渠道商情 | 招聘培训 | 二    手 | 评 测 室 | 导 购 | 社 区 |
摄影
部落
手 机
数码相机
随身听
 DIY配件
笔记本
 台式机
摄像机
精品廊
-
您现在的位置:软件资讯 > 开发特区 > 开发语言 > Java
  Java学习从入门到精通(附FAQ) 出处:java社区
[ 2005-07-08 10:23:51 ] 作者:robbin&cammsia 责任编辑:moningfeng

47 我在方法里修改了一个对象的值,但是退出方法后我发现这个对象的值没变!
 答:很可能你把传入参数重赋了一个新对象,例如下列代码就会造成这种错误:

 public void fun1(A a) //a是局部参数,指向了一个外在对象。
 {
 a = new 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。
天敏贴纸相框设计大赛,千元大奖等你拿!

[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

正在加载评论,请稍候…

发给好友 我要报错 投稿给我们 加入收藏 返回顶部

本栏今日更新
相关文章
·微软将以CRM 3.0与Oracle抗衡
·支持BT下载更好用!Opera更新(图)
·刻录我最行!Alcohol 120% 新版发布
·抢先透露!Windows Server特别版图片展示
·微软RAW图片浏览器试用手记
·轻松优化WinXP SP2的小工具
·表情[卡通]:汗流满面
·Java学习从入门到精通(附FAQ)
·JAVA开发工具 Jcreator使用心得
·将JAVA编译为EXE的几种方法
·Java:Struts入门初步知识
·Java入门:J2ee学习流程简介
·Java咖啡馆(11):Java插件技术
·java初级版FAQ---[jdk 安装]
·java开发技巧:对jar包进行再次修改
·Jive源代码研究

完美时尚娱乐:2004年腾讯QQ评测大观
精彩无限:MSN Shell4使用指南
亲手制作鲜花情人贺卡送给她
挑战伏明霞?企鹅跳水游戏,看你能得多少分?

新闻搜索
高级搜索
Flash排行榜
·趣味游戏-美女更衣
·最新原创-两只小蜜蜂
·恶搞!家猫吃卡
·光良《童话》凄美版
·缘来是你-守侯的处女
·献给失恋的人-嫁给了他
·好玩!汽车连连看
·伤感!下辈子不要做男人
·情感测试-寻找纯情种
·快快快!美眉要迟到了
热点专题
·玩转MSN技巧,带给您好心情!
·电脑艺术设计大师之路连载
·老歌歪唱Flash MV爆笑欣赏
·2005年XP SP2全新技巧放送
·视频轻松学Dreamweaver教程
·瞩目!QQ2005 Beta1火热发布
·全面了解FireFox浏览器
·情人节感动MM的十首MV
·武装你的QQ:QQ辅助软件使用指南
·奋勇抗争:向"流氓软件"大声说不!
·含泪惜别!毕业十大必唱歌曲
·想不到?常用软件的另类用法
IT培训十大热门文章
-