怎么HashMap<Integer,Integer>里的value void jh(Map map){ Integer a,b; for(int i =0;i<map.size();i++) a=map.get(i); b=map.get(i+1);说不兼容和找不到符号,真的头疼。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 get方法返回的应该是value本身的类型吧。怎么又会说不兼容呢 Integer是整形类型,包括int,byte,short基本类型,需要实例化。a,b是整形类型,int是基本类型,最后进行类型转换。 大括号没加? for循环那里? 在参数转递之前就已经有泛型了,意思说转递的MAP用了泛型。那在方法里还需要用吗,怎么用啊。或者难受a和b不是Integer get方法的参数是Object类型你如果用泛型了,int就会自动打包成Integer型,没用泛型,就得强制转换了。 import java.util.*;import java.util.Set;class Test{ public static void main(String [] args) { Map map = new HashMap(); map.put(0,14); map.put(1,13); map.put(2,15); map.put(3,11); map.put(4,12); map.put(5,10); Integer a=1111,b=2222; System.out.println(a.compareTo(b)); } //* void jh(Map map){ // Integer a=new Integer(1); // Integer b=new Integer(2); for(int i =0;i<map.size();i++){ Integer a=Integer.valueOf(map.get(i)); Integer b=Integer.valueOf(map.get(i+1)); } }//*/ }这是完整代码 Integer a=Integer.valueOf((Integer)map.get(i)); Integer b=Integer.valueOf((Integer)map.get(i+1)); 不知道jh方法是干什么的,代码里没看到lz用了jh方法 jh方法没有用,Integer a=(Integer)map.get(i);Integer b=(Integer)map.get(i+1);map.get(i)是Object类型的,如果要用for循环的话 for(int i =0;i<map.size();i++){要改成 for(int i =0;i<map.size()-1;i++)不然会出现空指针异常! void jh(Map map<Integer,Integer>){ 写错了是void jh(Map<Integer,Integer> map){ map<key,value>,key,value可为任何类型, 楼主没有使用泛型,需要将在集合中的对象强制转换才能取得到虽说不明白楼主的代码是要干什么用的但我用泛型帮你改了一下,请参考一下:package CSDN;import java.util.HashMap;import java.util.Map;public class TestMap { public static void main(String[] args) { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(0, 14); map.put(1, 13); map.put(2, 15); map.put(3, 11); map.put(4, 12); map.put(5, 10); Integer a = 1111, b = 2222; System.out.println(a.compareTo(b)); } // * void jh(Map<Integer, Integer> map) { // Integer a=new Integer(1); // Integer b=new Integer(2); for (int i = 0; i < map.size(); i++) { // Integer a=Integer.parseInt(map.get(i)+""); // Integer b=Integer.parseInt(map.get(i+1)+""); int a = map.get(i); int b = map.get(i + 1); } } // */} 关于浮点数型加减的问题 System.out.println中的OUT是什么System的对象吗? java随机取数字? sqlserver死活连不上 java db2 高手请问,SQLSTATE=HY010是什么错误? classpath如何设置? 请问 access modifier 怎么翻译?? 就是 public ,private 等等。 我错了吗? 哪里有虚拟机下载? java虚拟机报错(分多呢,求解答)(求科普贴) 想做个java游戏... 为什么反斜杠没了,换行符跑前面了??
或者难受a和b不是Integer
get方法的参数是Object类型你如果用泛型了,int就会自动打包成Integer型,没用泛型,就得强制转换了。
import java.util.Set;
class Test
{
public static void main(String [] args)
{
Map map = new HashMap();
map.put(0,14);
map.put(1,13);
map.put(2,15);
map.put(3,11);
map.put(4,12);
map.put(5,10);
Integer a=1111,b=2222;
System.out.println(a.compareTo(b));
}
//*
void jh(Map map){
// Integer a=new Integer(1);
// Integer b=new Integer(2);
for(int i =0;i<map.size();i++){
Integer a=Integer.valueOf(map.get(i));
Integer b=Integer.valueOf(map.get(i+1));
}
}
//*/
}这是完整代码
Integer b=Integer.valueOf((Integer)map.get(i+1));
不知道jh方法是干什么的,代码里没看到lz用了jh方法
Integer a=(Integer)map.get(i);
Integer b=(Integer)map.get(i+1);
map.get(i)是Object类型的,
如果要用for循环的话
for(int i =0;i<map.size();i++){
要改成
for(int i =0;i<map.size()-1;i++)
不然会出现空指针异常!
是void jh(Map<Integer,Integer> map){
虽说不明白楼主的代码是要干什么用的
但我用泛型帮你改了一下,请参考一下:package CSDN;import java.util.HashMap;
import java.util.Map;public class TestMap {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(0, 14);
map.put(1, 13);
map.put(2, 15);
map.put(3, 11);
map.put(4, 12);
map.put(5, 10);
Integer a = 1111, b = 2222;
System.out.println(a.compareTo(b));
} // *
void jh(Map<Integer, Integer> map) {
// Integer a=new Integer(1);
// Integer b=new Integer(2);
for (int i = 0; i < map.size(); i++) {
// Integer a=Integer.parseInt(map.get(i)+"");
// Integer b=Integer.parseInt(map.get(i+1)+"");
int a = map.get(i);
int b = map.get(i + 1);
}
}
// */}