`
yangfuchao418
  • 浏览: 169140 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对一道Java基础题目的思考

    博客分类:
  • java
阅读更多
[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]
基础很重要啊,千里之行始于足下,万丈高楼平地起
分享到:
评论

相关推荐

    java的一道考试题

    1. **基础语法**:Java的基础语法是解答任何Java题目的基石,包括变量声明、数据类型、运算符、流程控制(如if-else、for、while循环)和函数的使用。 2. **面向对象编程**:作为面向对象的语言,Java的类、对象、...

    Java零基础配套练习题51道完整版

    Java作为一门广泛使用的编程语言,对于初学者来说,掌握其基础知识是至关重要的。这份"Java零基础配套练习题51道完整版...在解答每一道题目时,都应深入思考其背后的原理,这样才能真正巩固和拓展自己的Java知识体系。

    最新JAVA编程题全集(50题及答案

    题目涵盖了Java编程的各个方面,从基础语法、面向对象编程到集合框架,从多线程编程、异常处理到IO流和网络编程,无一不展示出Java语言的丰富性和强大功能。 在基础语法层面,初学者能够通过对变量、数据类型、...

    很实用的java提高题

    【Java编程提升题目详解】 Java作为一种广泛使用的编程...建议在解答每一道题时,不仅要关注正确答案,还要深入思考解题思路,以便更好地理解Java的核心概念和编程思想。祝你在学习Java的道路上越走越远,不断进步!

    JAVA经典算法90题【含源码】

    通过这些题目,你可以巩固对Java基本概念的理解,并学习如何将这些基础知识应用到实际问题中。 接着,40道经典算法题目则涵盖了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(如...

    蓝桥杯真题解析(Java及C、C++方向)

    在解析Java方向的题目时,通常需要关注如何利用Java的基础知识去构建算法框架,并通过Java的各种技术点来优化代码性能,例如使用集合框架处理大量数据、利用Java多线程解决并发问题等。 C语言作为计算机编程的基石...

    Java工程师面试经验交流

    在IT行业的求职过程中,尤其是对于Java工程师而言,面试是一道至关重要的门槛。成功的面试不仅能够展示个人的技术实力,还能体现专业素养与沟通能力。本文将深入解析“Java工程师面试经验交流”这一主题,涵盖面试...

    Java面试题(最全,最新)

    文件中的一道题目涉及如何使用烧绳方法来计时,这实际上是对时间管理和任务调度概念的一种抽象化表达。在计算机科学中,任务调度是指操作系统或程序根据一定策略安排任务执行顺序的过程,以优化资源利用和提高系统...

    JAVA编程题全集(100题及答案).zip

    Java编程题全集,顾名思义,是一个包含100道Java编程题目及对应解答的资源包。这个文档可能是为了帮助Java初学者或者正在准备面试的开发者进行实践和复习而设计的。Java是一种广泛使用的面向对象的编程语言,由Sun ...

    美团java面试题,都是干货

    内容概要:本文档汇总了美团公司针对 Java 开发岗位的一些面试题目,涵盖了多个重要的计算机科学技术领域的知识点,重点在于深入理解 JVM(如内存管理、垃圾回收)、Java 并发特性(如线程池管理、原子变量与 CAS ...

    java-leetcode题解之Gas Station.java

    Java程序员在准备算法面试或提升算法能力时,经常会参考LeetCode平台上的编程题目进行练习。Gas Station这一题目属于典型的算法问题,主要考察对数组操作、贪心算法的理解和应用。解决这个问题需要思考如何在只遍历...

    Java B组蓝桥杯历年真题源码与解析(2013-2017)

    在这些真题解析中,不仅包括了每一道题目的具体实现代码,更重要的是,它们还提供了清晰的解题思路和方法。通过对这些真题的分析和解答,参赛者可以了解到如何将理论知识应用到实际编程中,同时也可以加深对Java编程...

    java-leetcode题解之Find K-th Smallest Pair Distance.java

    对于任何一个想要提高算法和数据结构能力的学习者来说,"Find K-th Smallest Pair Distance"都是一道值得深入研究的题目。 解决这类问题时,我们需要掌握以下知识点: - 数据排序:了解数组或列表排序算法,比如...

    2013-2017年蓝桥杯Java B组真题源码与解析合集

    本合集的内容构成基本如下:首先是对每一道题目背景和要求的介绍,然后是详细源码展示,接着是深入浅出的代码解析,最后可能还包含了一些解题技巧和常见误区的提示。这种结构安排使得读者可以循序渐进地掌握每个知识...

    2013-2017年蓝桥杯Java B组真题源码及详细解析合集

    本合集收录了2013年至2017年的蓝桥杯Java B组真题,每一道题目都附有详尽的源码以及对应的解析,这些解析不仅限于提供代码的直接答案,更重要的是通过解析帮助理解题目的解题思路和背后的算法原理。掌握这些内容对于...

    跟我学 java web 源代码与答案

    每一道题目都对应了解决方案,无论是简单的语法问题还是复杂的业务逻辑实现,都能在其中找到详尽的解释。这不仅可以帮助你检查对关键知识点的理解,还能引导你思考解决问题的不同方法,提升编程思维。 在学习过程中...

    JAVA面试题大全

    综上所述,针对JAVA面试题的准备,不仅需要掌握坚实的基础知识,还需要具备清晰的答题结构、良好的沟通技巧以及对技术的深刻理解。此外,了解招聘方的需求和心态也至关重要,这样才能更好地展示自己的能力和潜力。

    蓝桥杯Java及C、C++真题大揭秘:从思路到代码,全面解析.zip

    这本书籍不仅提供了题目本身,更有可能从解题思路、算法设计、代码实现等多个角度对每一道题目进行了深入的剖析。通过这类资料的学习,参赛者能够更好地理解竞赛题目的背景知识,掌握解题的关键步骤,从而提升解题...

    leetcode答案-leetcode:leetcode题目答案与思考

    在这个压缩包中,“leetcode-master”可能是一个GitHub仓库的克隆,通常这样的仓库会包含一个或多个编程语言(如Python、Java、C++)的代码文件,每个文件对应LeetCode上的一道题目。开发者通常会在每个文件中提供一...

Global site tag (gtag.js) - Google Analytics