A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fengche 中级黑马   /  2013-10-19 18:43  /  1554 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fengche 于 2013-10-20 15:23 编辑
  1. package com.javapuzzlers;
  2. public class Me {
  3.     public static void main(String[] args){
  4.         System.out.println(
  5.              Me.class.getName().
  6.                 replaceAll(".","/") + ".class");
  7.     }
  8. }
复制代码
打印的是///////////////////.class。到底怎么回事?

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 勤学好问~~

查看全部评分

3 个回复

倒序浏览
我觉得java中的"."表示通配符
代表了任意一个长度1的字符串,你把字符串的任意一个字符都替换成了"/"
再和".class"连接,就是这个结果了

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报

  1. public class Me {
  2.     public static void main(String[] args){
  3.         System.out.println(
  4.              Me.class.getName().replaceAll(".","/") + ".class");
  5.     }
  6. }
  7. //首先Me.class.getName()这句话打印输出结果为 Me
  8. //然后加上replaceAll(".","/")   "."的意思是指任何字符。整句话的意思是说:
  9. //把"Me"中的任何字符替换成/
  10. //所以就是整个输出语句输出的就是  //.class
复制代码

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 风悠悠 于 2013-10-20 11:37 编辑
  1. public class Me {
  2.         
  3.     public static void main(String[] args){
  4.             System.out.println(
  5.              Me.class.getName().replaceAll("\\.","/") + ".class");
  6.     }
  7. }
复制代码
先\\转义成 \ ,再\. 转义成 .    运行结果如下图!!!


评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马