[size=large][size=medium]有人面试回来,把许多Java基础题目发到论坛,呵呵 ,大公司一般都考基础或者很高级的。
对其中一道基础题目刚开始不是很理解
String classPath2 = "java.lang.String";
System.out.println(classPath2.replaceAll(".", "/"));
结果输出的许多斜杠("/")。刚开始有点不相信。想为何输出的全是斜线呢???
然后我换一个和replaceAll类似的replace方法测试。结果得到预料的结果java/lang/String。我就推测为何他们这么不一样呢?
由于没有下载Java源码,不好确定他们内部如何实现。稍微想了下找到一种很简单的方法。
在IDE自动提示中,我让他显示replace和replaceAll中所有的重载方法。结果发现replace里的方法全是普通字符或者字符串类型,而replaceAll方法的第一参数显示regx,凭这里看出replaceAll方法第一个参数是个正则。
而点号用在正则中正好代表匹配所有字符。所以字符全被斜杠替换了。原来如此!!!!
根据这个推断我再把原有的字符串长度打印,然后再打印匹配后出现的字符串斜杠的长度,结果他们的长度正好一样。
String classPath = "java.lang.String";
System.out.println(classPath.replace(".", "/"));
String classPath2 = "java.lang.String";
System.out.println("classpath2--length\t"+classPath2.length());
String classpath3=classPath2.replaceAll(".", "/");
System.out.println("classpath3--\t"+classpath3+"\t"+classpath3.length());
如果实在想只是替换点号那就需要转义下
[/size]
[/size]
基础很重要啊,千里之行始于足下,万丈高楼平地起
分享到:
相关推荐
1. **基础语法**:Java的基础语法是解答任何Java题目的基石,包括变量声明、数据类型、运算符、流程控制(如if-else、for、while循环)和函数的使用。 2. **面向对象编程**:作为面向对象的语言,Java的类、对象、...
Java作为一门广泛使用的编程语言,对于初学者来说,掌握其基础知识是至关重要的。这份"Java零基础配套练习题51道完整版...在解答每一道题目时,都应深入思考其背后的原理,这样才能真正巩固和拓展自己的Java知识体系。
首先,我们可以预期这50道题目会覆盖基础语法、面向对象编程、集合框架、多线程、异常处理、IO流、网络编程、反射、枚举、注解等Java核心内容。基础语法包括变量、数据类型、运算符、流程控制语句等;面向对象则涉及...
6. 生物工程对农业的影响:这道题目涉及的是科技进步对产业的影响,虽然不是直接的编程知识,但IT行业经常需要思考新技术带来的变革,例如在农业信息化、精准农业等领域。 7. 法官判断问题:此题考察逻辑推理和判断...
【Java编程提升题目详解】 Java作为一种广泛使用的编程...建议在解答每一道题时,不仅要关注正确答案,还要深入思考解题思路,以便更好地理解Java的核心概念和编程思想。祝你在学习Java的道路上越走越远,不断进步!
通过这些题目,你可以巩固对Java基本概念的理解,并学习如何将这些基础知识应用到实际问题中。 接着,40道经典算法题目则涵盖了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(如...
在IT行业的求职过程中,尤其是对于Java工程师而言,面试是一道至关重要的门槛。成功的面试不仅能够展示个人的技术实力,还能体现专业素养与沟通能力。本文将深入解析“Java工程师面试经验交流”这一主题,涵盖面试...
Java编程题全集,顾名思义,是一个包含100道Java编程题目及对应解答的资源包。这个文档可能是为了帮助Java初学者或者正在准备面试的开发者进行实践和复习而设计的。Java是一种广泛使用的面向对象的编程语言,由Sun ...
每一道题目都对应了解决方案,无论是简单的语法问题还是复杂的业务逻辑实现,都能在其中找到详尽的解释。这不仅可以帮助你检查对关键知识点的理解,还能引导你思考解决问题的不同方法,提升编程思维。 在学习过程中...
2. 逻辑推理:如肯尼迪总统的讲话例子,这是一道逻辑推理题,要求找出肯尼迪言论的前提假设,考察的是考生对逻辑关系的理解和分析能力。 3. 专利意识:提到中国企业在专利工作上的不足,这是对企业知识产权保护意识...
在这个压缩包中,“leetcode-master”可能是一个GitHub仓库的克隆,通常这样的仓库会包含一个或多个编程语言(如Python、Java、C++)的代码文件,每个文件对应LeetCode上的一道题目。开发者通常会在每个文件中提供一...
该压缩包文件主要涉及的是2010年国家高等职业教育竞赛(高教杯)中的一道获奖题目D题,由江西应用学院在2011年进行解答并提供了相关思考。尽管没有具体的标签来指明具体的技术领域,但从标题我们可以推测这可能与...
这个压缩包可能包含了历年来蓝桥杯比赛中的某一道或几道题目——“高僧斗法”的参考解题代码,可能是由参赛者或者教练分享的,用于帮助参赛者理解和解决此类问题。 "高僧斗法"这道题目可能是基于某种编程算法或者...
3. **随机生成验证码**:使用Java的`Random`类生成随机数字或字母。可以设定一个字符池,包含数字和字母,然后随机选取组成验证码字符串。 4. **触摸事件处理**:如果实现滑动验证,需要重写`onTouchEvent()`方法,...
从基础的排序和查找问题到复杂的最短路径和网络流问题,每一道题目的解题报告都包含以下几个部分: 1. 题目解析:清晰地解释题目的要求,确保读者理解问题的本质。 2. 算法设计:介绍如何选择合适的算法来解决问题...
但是没有包含”连续子序列最大积值“这样的题目,并且”最长递增子序列“给出的解答不是最优的,这两个题目大家可以额外思考一下,面试中也很常见。 另外,面试过程中也会遇到很多与系统相关的知识性的题目,如流水...