s.getClass().getName().replaceAll("\\w+\\."+"")是什么意思??

 我来答
cs6641468
2011-08-26 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:980万
展开全部
1.先不看replaceAll()这部分
s是一个对象, s.getClass()是获得这个对象的类,s.getClass().getName()是获得这个对象的类的完整名称(包括包名)。
加入有个类在在名字叫Test1,放在包"test.rel"下面 (即package test.rel;)
那么
Test1 s = new Test1();
System.out.println(s.getClass().getName());
输出结果是:test.rel.Test1

2.repalceAll( )用法是正则表达式用法,你这个里面可能有点问题,应该是replaceAll("\\w+\\.+", ""),意思是把包名过滤掉,只显示类名称:
Test1 s = new Test1();
System.out.println(s.getClass().getName().replaceAll("\\w+\\.+", ""));
输出结果是:Test1
追问
我是写错了,格式是这样的replaceAll("\\w+\\.", ""),这个是过滤包名,显示类名的特定用法吗!
追答
\\w+表示任意多个数字或者字母 \\.就表示点号

举个例子,\\w+\\.代表的形式有 1. 222. a. aaa. 1a2z. asd212a. 上面这种情况都会被替换成"",也就是空。

所以test.rel.Test1 前面的test. rel.都会被替换成"",也就是去掉。
songfeng163
2011-08-26 · TA获得超过952个赞
知道小有建树答主
回答量:229
采纳率:100%
帮助的人:317万
展开全部
我觉得你的代码是不是这样的?
s.getClass().getName().replaceAll("\\w+\\.","")
+号为逗号,
意思是把类的路径为\w\的路径改为\
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式