㈠ 请问各位java同学,为什么我在编写集合的代码时,最后用迭代器对象输出String集合元素内容时会乱码
你用迭代器输出的是集合元素的地址,而不是集合元素的值
㈡ 为什么将class反编译为java后,java直接编译时有错误
midlet不存在? 如果你用的是Eclipse那你在配置环境时有问题 没关联EclipseMe 和关联WTK MIDletStateChangeException应该是有异常
反编译的软件一般都会使用如a b c之类的变量名 导致很多类的情况下容易重名导致变量混乱 最好改成自己习惯的变量名
至于环境变量的配置按这个来
右键点击我的电脑--->属性--->高级--->环境变量--->系统变量--->新建
path: C:\j2sdk1.4.2_05\bin
classpath: .;C:\j2sdk1.4.2_05\lib\dt.jar;C:\j2sdk1.4.2_05\lib\tools.jar 确定
改了还不行的话把代码贴出来看看 祝你走运~~~
㈢ Java集合迭代为什么会发生异常
在用迭代器iterator迭代元素的时候,是不能够直接添加删除元素的,就是说不能进行修改,否则可能会产生异常。移除元素可以使用it.remove()这个方法是标记移除,等遍历完才真正删除。你上述程序没有发生异常是因为学习C#语言是set的最后一个元素,但是在里面添加,循环中没有打印出来吧。
㈣ Java编程:常见的几个错误
Java 中最常见的 5 个错误:
1、Null 的过度使用
避免过度使用 null 值是一个最佳实践。例如,更好的做法是让方法返回空的 array 或者 collection 而不是 null 值,因为这样可以防止程序抛出 NullPointerException。
2、忽视异常
我们经常对异常置之不理。然而,针对初学者和有经验的 Java程序员,最佳实践仍是处理它们。异常抛出通常是带有目的性的,因此在大多数情况下需要记录引起异常的事件。别小看这件事,如果必要的话,你可以重新抛出它,在一个对话框中将错误信息展示给用户或者将错误信息记录在日志中。至少,为了让其它开发者知晓前因后果,你应该解释为什么没有处理这个异常。
3、并发修改异常
这种异常发生在集合对象被修改,同时又没有使用 iterator 对象提供的方法去更新集合中的内容。
4、违约
有时候,为了更好地协作,由标准库或者第三方提供的代码必须遵守共同的依赖准则。例如,必须遵守hashCode和equals的共同约定,从而保证 Java 集合框架中的一系列集合类和其它使用hashCode和equals方法的类能够正常工作。不遵守约定并不会产生 exception 或者破坏代码编译之类的错误;它很阴险,因为它随时可能在毫无危险提示的情况下更改应用程序行为。
5、使用原始类型而不是参数化的
根据 Java 文档描述:原始类型要么是非参数化的,要么是类 R 的(同时也是非继承 R 父类或者父接口的)非静态成员。在 Java 泛型被引入之前,并没有原始类型的替代类型。Java 从1.5版本开始支持泛型编程,毫无疑问这是一个重要的功能提升。然而,由于向后兼容的原因,这里存在一个陷阱可能会破坏整个类型系统。
㈤ java集合类型转换错误问题
collectiontest.Roleright cannot be cast to java.lang.Comparable
这是我在Eclipse中运行时报的异常..
楼主程序出错的原因在于TreeSet是需要对所有元素进行排序.而比较是排序的必备操作..因此作为TreeSet中的元素必须实现Comparable接口..
楼主的Roleright类并没有实现Comparable接口,因此将list中元素放入TreeSet的时候,会提示异常..
㈥ java编译时发生错误
1.class,不是classs,
2.for(i=1;i<100;i++)注意是两个分号不是逗号
3.int i,sum; 中间是逗号,不是点
4.system.out.println("1+2+...+100"+sum);是双引,不是单引.
㈦ java反编译后得到的源码 很混乱 怎么办
不是每个反编译都能完美的,用eclipse规范下代码,然后不符合的语法的方法,自己换成适合当前jdk版本支持的就可以了,反编译还是得花力气在代码的上,偷懒有限啊。