Java遇到的问题
开发工具与关键技术:MyEclipse 10、java
作者:梁添荣
撰写时间:2019-4-27
1.有时我们用迭代器来遍历出集合,用next()获取下一个引用变量的两个元素,但如果在一次循环里有两的next(),则出现错误,例:
List list =new ArrayList();
list.add(new Th("1.",11));
list.add(new Th("2.",22));
list.add(new Th("3.",33));
Collections.sort(list);
Iterator<Th> t = list.iterator();
while(t.hasNext()){
//一次循环里有两个next()
System.out.println(t.next().getName()+t.next().getAge());
}
它会出现下面的情况
图片的报错结果可看出,在一次循环里,“1.”是第一个next()是第一个引用变量里的name(),而“22”是第二次next()是第二个引用变量的age了
出现这种情况的原因,也就是说,当在一次循环里写了两个next(),则第二个next()是第一个next()后的next()了。
所以,我们应当用此方法
Th s =t.next();
System.out.println(s.getName()+s.getAge());
这样在一次循环里就存在一个next,可以获取对象的两个元素了
- String的值是中文字时转int型
Char存放的是字符,而string存放的是字符串,
若string存的字符串是中文怎么转成int型呢
String str3 = “字符串转字符型”;
//首先把string的字符串存进char数组里
char[] chaShu = str3.toCharArray();
//因为char字符可以直接转int型,所以用foreach遍历出
for (char c : chaShu) {
int it =c;
System.out.print(it);
}
效果图以下: