这是 右眼皮跳是怎么回事事

[精彩] 这是怎么回事? - ChinaUnix.net
[精彩] 这是怎么回事?
http://www.chinaunix.net 作者:&&发表于: 11:08:40
CLASSPATH&已经设定:CLASSPATH=.;C:\Program&Files\Java\jdk1.5.0\lib\tools.jar;
代码如下:
public&class&test&{
&&&&&&&public&static&void&main(String[]&args)&{
String&a&=&new&String("hello");
System.out.println(a);
System.out.println(a.getClass().getName());
String&b&=&(String)Class.forName("java.lang.String");
b&=&"class&b";
System.out.println(b);
&&&&&&&}
}
为什么编译时总出现如下错误:
C:\&;javac&test.java
test.java:6:&inconvertible&types
found&&&:&java.lang.Class&capture&of&?&;
required:&java.lang.String
&&&&&&&&&&&&&&&&String&b&=&(String)Class.forName("java.lang.String");
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^
1&error
a.getClass().getName()得到的类名就是java.lang.String呀,这是怎么回事?望高手指教
& 回复于: 16:05:07
类型不对,而且不能被强制转换。把程序改成这样:
public&class&Test1&{&
&&&&&&public&static&void&main(String[]&args)&{&
&&&try{
&&&&&&&&&&String&a&=&new&String("hello");&
&&&System.out.println(a);&
&&&System.out.println(a.getClass().getName());&
&&&String&b&=&Class.forName("java.lang.String").toString();&
&&&//b&=&"class&b";&
&&&System.out.println(b);
&&&&}catch(ClassNotFoundException&e)&{&}
&&&&&&}&
}&
hello
java.lang.String
class&java.lang.String
& 回复于: 16:49:24
为什么加入try块他就行呢,而且能执行发生异常语句后面的语句呢?如这段代码
public&class&test&{
&&&&&&&public&static&void&main(String[]&args)&{
&&&&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&&&&&&&Class.forName("java.lang.String");
&&&&&&&&&&&&&&&&&&&&&&System.out.println("hello");
&&&&&&&&&&&&&&&}&catch&(ClassNotFoundException&e&){}
&&&&&&}
}
不加try时无法编译,在forName处发生ClassNotFoundException&异常。
在加try之后System.out.println("hello");却能够执行,而catch&却没捕获到异常呢?请大虾少加解释
& 回复于: 20:02:08
你的try{}里边的语句和你没加try时候的语句根本不一样,所以你后来写的这个加了try{}的代码没有异常
& 回复于: 00:16:09
Class.forName()返回的是Class类型不是String类型,你如果想那样来创建String对象的话还得在Class上newInstance()然后转型为String
& 回复于: 00:49:00
看来你误会了Class.forName(...)的作用了,Class.forName是给你用来确保一个class被load到当前的classloader中,并且完成初始化以被后续是用的.最常用的地方是load&jdbc驱动程序。
见文档:
public&static&Class&?&;&forName(String&className)
&&&&&&&&&&&&&&&&&&&&&&&&throws&ClassNotFoundException
Returns&the&Class&object&associated&with&the&class&or&interface&with&the&given&string&name.&Invoking&this&method&is&equivalent&to:&
&&Class.forName(className,&true,&currentLoader)
&
where&currentLoader&denotes&the&defining&class&loader&of&the&current&class.&
For&example,&the&following&code&fragment&returns&the&runtime&Class&descriptor&for&the&class&named&java.lang.Thread:&
&&&Class&t&=&Class.forName("java.lang.Thread")
&
A&call&to&forName("X")&causes&the&class&named&X&to&be&initialized.&
从你的代码看
public&class&test&{
&&&&&&public&static&void&main(String[]&args)&{
&&&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&&&&&&Class.forName("java.lang.String");
&&&&&&&&&&&&&&&&&&&&&System.out.println("hello");
&&&&&&&&&&&&&&}&catch&(ClassNotFoundException&e&){}
&&&&&}
}&
你似乎没有了解try/catch在程序中的作用,如果你定义的函数有throw,那么你调用这个函数的命令则必须用try/catch包裹,但是并不意味着一定会throw的,如果不发生exception,就不会执行catch部分的代码,这是正常的,只有发生了exception才需要执行catch的代码,目的是为了使得程序运行的时候得到更多的控制。有时候exception发生并不意味着致命错误,你仍然可以用一些办法使其继续工作。
举个例子吧:
比如,你要从数据库读取一些数据,然后合并到一个xml文件中去,其中一些项目,如果xml文件中存在,就不要去修改,如果不存在,则写入数据库读出来的部分。这个逻辑写成程序的时候应该是这样:
try{
&&//1.&load&database&driver
&&
&&try{
&&&&&//2.&read&xml&file
&&}catch(xmlexception){
&&&&//如果xml不存在,可以在这里创建一个空的schema,但是操作要继续下去
&&}catch(writefileexception&e){
&&&&//如果无法写入文件,就把exception往上级处理程序抛,从而强行中断后面的更新程序
&&&&throw&e;
&&}
&&//3.&数据同步/更新
&&//这里的程序就不会再受到不能写入的困扰了。
}catch(dbexception){
&&//如果数据库无法访问,直接退出程序,不要继续了
}catch(writefileexception&e){
&&//这里处理不能写入的问题
}
这样的结构就把错误处理层次化了。在反复嵌套的调用结构中,如果每一级都要处理上面遗留下来的可能的错误,会导致程序越来越不受控制。有个非常典型的例子:程序到数据库读取一个数据,读出来一个null,这里面有几种可能:
1.这个数据本身就是null
2.sql语句出错
3.数据库没服务器没有启动
4.从客户端到服务器网络不通
5.客户端可用的socket用光,无法创建socket连接对方。
。。。
如果没有层次化exception处理,判断这些可能就变得非常困难,但是有了层次化的exception处理,你会得到确切的错误信息,并且错误不会被继续下去而产生更多的没有意义的错误,比如,如果连不上数据库服务器,就不要去执行sql操作的部分,应该直接跳出。这里不能简单地exit退出,如果数据库可能是个集群系统,你可能想尝试别的服务器,然后返回最终的结果呢?Exception就是帮助你来区分发生问题的层次,进而更有效的控制程序用简单的方法,更少的代码来达到目的的工具。
& 回复于: 00:59:37
对于Class.forName()的作用我想做一些补充,如果只是确保一个类被loader到当前的classloader,那为什么不用Thread.getContextClassLoader()&.loadClass("clasName")???
Class.forName()不仅load&class而且还保证resolve这个class,包括常量池解析,类初始化。。。这样JDBC驱动使用这个方法,才能保证
类里的静态方法执行,一般驱动类的静态方法会向&&DriverManager注册自己,如果用classloader.load()就不一定会resolve这个class,也就不能保证注册驱动类!
& 回复于: 01:10:04
谢谢yovn侠客的补充!
& 回复于: 11:08:40
感谢各位的精彩解答,由于初涉java,一些地方了解得不算太清楚,望各位以后多加指教
原文链接:
转载请注明作者名及原文出处这是怎么回事_百度知道
这是怎么回事
请知情者告诉我啊,还是有其他的办法,,,在QQ炫舞里面很多人物的衣服都很漂亮,,但是我去商城看要很多Q币啊,,,请问他们是买的还是索要,,,谢谢,,,,,,,
我看到这样的人N多N多的。,
提问者采纳
这个积少成多的意思在这里得到了充分的验证该死的TX,N一ǖ恼飧,你就会再去买的。记住俺这个惨痛的教训呀,,俺玩两个号,我还可能继续糊涂下去所以,全是在不知不觉中花的,女号买了上衣9件,裤2条知道我花了多少钱,,裤裙4件,L鬃2套男号买了上衣两件,R蛭怯谰谩,开了先河,两号加起来900多,出的衣服一次比一次贵,要不是本人算了总帐,别在里面花钱买YY了,孩子,玩玩就好,都可以买一套我喜欢已久的台版漫画了,买的,1热绨场,,,
提问者评价
其他类似问题
其他7条回答
有积分换取吧。也许人家有钱买呢。,
游戏狂人 不在乎那血钱的
索要也得有人给啊~~总之,好看的都得掏钱,积分兑换的都好丑!~~没办法啊~~
买得...如果YY多应该大量的都是7天30天吧...那样的便宜..换得快
有的人是自己掏腰包买...有些女的就骗网上的男人买...G币的东西都很丑的..里面的R点就是你买门票刷荣誉才能得R点..R点里的YY还可以~~~当然QB的东西更好看咯~~一般我买QB的都是买永久的..永久性的划算得多~~如果你觉得一套穿起来太腻那你就一个月一个月的买吧..肯定是买永久划算得
买的~砸钱呢~有的女的找老公让老公送
不想买就去认亲戚要爹地妈咪,哥哥姐姐什么的。。。。不过我的还是自己买的
等待您来回答
您可能关注的推广回答者:回答者:
下载知道APP
随时随地咨询
出门在外也不愁谁知道我这是怎么了?_百度知道
谁知道我这是怎么了?
我是上个月10.9来的月经,11号出远门在车站等了11个小时的车,还挺冷的,这一折腾就到1吨掸茬废馗肚掺莎潮极9号才好利索,然后22号和我对象发生关系没来得及采取措施,我以为我刚月经好应该没事,但是到今天11.13号了我还是没来月经,早上用验孕棒验是一条线,前天小肚子特别难受,我以为是要来了,但是等了两天还是没来,这到底是怎么回事,我不想去医院,有没有专业的大夫帮帮我啊,相当着急!
提问者采纳
这个倩痔拎奶绫媚另脂陋扫要看你月经周期的...假如你本来就是推迟型的.可能因为你上次的时间太久.又往后推迟了.也很正常...一般按照正常的推算的日期,再推迟5天的都有.假如过了7天就比较危险了...建议感觉7天左右的时候再测一下...再等等吧.别着急...不过,平时最好多注意保暖...身体是自己的.多喝点红枣红糖水,补血的.可以百度一下...应该有很多补血的方子的...祝好!
提问者评价
谢谢,可是我怀孕了,为什么上次是一条线,这次一侧就是两条了呢?几率小还叫我碰上了......
其他类似问题
比以前的时间 晚来一个星期左右再测测那个时候比较准
按默认排序
其他5条回答
你在等五六天看看,你的好事来蜡偿艰赏夤扰减郗讲惟了没有,如果没有来的话, 你很有可能是怀孕了,五六天之后你在用验孕棒验试一试,是不是还是一条线啊,这样就可以了啊
月事刚过,一般来说是没问题的,而且验孕棒只有一条线,应该是安全的,可能是上个月没有调理好所以影响这个月的不规律,如果实在不想去医院检查,建议楼主再测多一次验孕棒,祝你好运!
月事刚过,一般来说是没问题的,而且验孕棒只有一条线,应该是安全的,可能是上个月没有调理好所以影响这个月的不规律 .推哥迟5天到.7天都是正常的/建在经期注意保暖...多吃点红枣红糖水/
心理因素,天气环境都影响身体机能,过两三天再测试一下。你有怀孕的可能,在危险期内
等到19号看看,那时大概就来了。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 右眼皮跳好几天了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信