[讨论] 为什么有时候调试代码的时候看不到变量的值。

RednaxelaFX 2011-04-27
sswh 写道
以前也在javaeye上问过这个问题,那时候没人搭理,对比了一下楼主的提问方式,也许是我没有截图,问题没有描述清楚的原因吧-_-

http://www.iteye.com/topic/150851#436700

不,我猜是因为是在入门版提问吧…很多知道答案的人不去逛入门版 =_=||||

ordinary 写道
我来问一句,有时用泛型看不到变量的名也是因为编译没用 -g吧?

要看你说的是什么意义上的看不到泛型的变量名。像这边写的,Class文件里有些东西记了有些没记。局部变量的泛型信息也是记在LocalVariableTable里的。确实,不加-g就会看不到。
但这跟你的疑问是否直接相关,恐怕还得找具体的例子来看才能确定。
bugu1986 2011-05-02
。。感觉有时候是能跟到jdk里面,有时候跟不到。比如swing里面的就跟不进去,断点都不停。。集合就没问题。。
ffychina 2012-10-29
从你们的回复中没有找到答案,我自己解决了这个问题,只要同一个java文件中两个方法中存在"T",就会出现在eclipse的调试中无法inspect的问题,我也不知道这是什么原因。
	public static <T>T or(T...vars){
		for(int i=0;i<vars.length;i++){
			if(vars[i]!=null)
				return vars[i];
		}
		return null;
	}


	public static <T extends Comparable>T max(T...objs){
		if(objs.length==0)
			return null;
		T max=objs[0];
		for(T item:objs){
			if(item!=null)
				max=item.compareTo(max)>0?item:max;
		}
		return max;
	}

Global site tag (gtag.js) - Google Analytics