作业帮 > 综合 > 作业

s.getClass().getName().replaceAll("\\w+\\.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 07:04:25
s.getClass().getName().replaceAll("\\w+\\.
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.都会被替换成"",也就是去掉。