Java遇到的问题

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,可以获取对象的两个元素了

  1. 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);
    }
    效果图以下:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44619313/article/details/89608852