博客
关于我
【再探JAVA】Split & 继承实现_Oracle赛前试考
阅读量:201 次
发布时间:2019-02-28

本文共 1975 字,大约阅读时间需要 6 分钟。

今天遇到了一个有趣的场景——Oracle的赛前试考来得及时!作为一个自认为对Java还有些差距的新手,在高人@ZoeCur的指导下,终于完成了这场试考。虽然试题内容有些特别,但还是学到了不少东西。

一、初探String.split的深奥之处

试考中有一道选择题看似简单,却让我陷入了一番思考。题目问的是:"split方法的作用是什么?"一开始我以为是问split方法能够实现什么功能,但后来在查看答案时发现,题目实际上是在问split方法能将字符串分成多少份。这个问题看似简单,实则考察了对String.split方法的理解。

二、完整代码解析

为了更直观地理解问题,我决定写出一个完整的代码示例。以下是源码:

package Test01;public class Test {	public static void main(String[] args) {		String text = "Welcome to Java contest";		String[] words = text.split("\s");		System.out.println(words.length);	}}

编译时,发现一个问题——在\s部分出现了错误提示:"Invalid escape sequence"。经过查阅资料,了解到\s不是Java中的有效转义字符。正确的做法是直接使用空格字符,或者使用\b、\t、\n等其他转义字符。

三、split方法的实际应用

为了更深入理解split方法,我参考了MSDN上的C#示例。通过对比不同语言中的split实现,发现每种语言都有自己的特点。例如,在C#中,可以通过传递字符数组来指定分隔符,而Visual Basic则使用字符串分隔符。

四、split方法的重要特性

通过进一步研究split方法的文档,掌握了以下几点关键信息:

  • 分隔符不包含在结果中:使用split方法后,分隔符不会出现在数组中。
  • 处理空白字符:如果分隔符为null或为空字符串,split方法会自动使用空白字符作为分隔符。
  • 空白字符的定义:根据Unicode标准,空白字符包括空格、制表符、换行符等。
  • 五、示例分析

    为了更直观地理解split方法的行为,我分析了以下几个示例:

  • 简单字符串:
    • 输入:"42, 12, 19"
    • 分隔符:{",", " "}
    • 输出:{"42", "", "12", "", "19"}
  • 含有多个分隔符:
    • 输入:"42..12..19"
    • 分隔符:{".", "", "."}
    • 输出:{"42", "", "12", "", "19"}
  • 带有特殊字符:
    • 输入:"Darb\nSmarba"
    • 分隔符:{\n}
    • 输出:{"Darb", "Smarba"}
  • 六、实践中的收获

    通过这次试考,我深刻体会到以下几点:

  • 细节决定成败:一小处的转义字符错误可能导致程序运行错误。
  • 注重理解文档:熟悉split方法的文档是掌握它的关键。
  • 实践是最好的老师:通过编写和调试代码,能够更直观地理解split方法的行为。
  • 七、继承与实现的探索

    为了拓宽知识面,我尝试解决了一个关于继承与实现的编程题。题目要求创建一个抽象类Shape,并实现一个具体的Rectangle类。同时,还需要实现一个接口并创建对应的实现类。

    八、代码实现

    以下是完整的代码示例:

    package Test02;public abstract class Shape {    abstract public int getArea();}public class Rectangle extends Shape {    private int width;    private int height;    public Rectangle(int w, int h) {        width = w;        height = h;    }    public void setWidth(int width) {        this.width = width;    }    public void setHeight(int height) {        this.height = height;    }    public int getArea() {        return width * height;    }}

    九、接口的实现

    为了进一步理解接口的概念,我创建了一个接口IList,并实现了一个MyList类。

    十、总结与展望

    这次试考不仅让我复习了Java的基础知识,还让我对split方法和OOP概念有了更深入的理解。未来,我会继续加强对Java核心库的掌握,同时尝试更多编程题,以提升自己的编程能力。

    转载地址:http://gpwi.baihongyu.com/

    你可能感兴趣的文章
    python与flask_Python编程中flask的简介与简单使用
    查看>>
    python与图灵机器人交互(WXPY版本)
    查看>>
    python与运算符_python运算符
    查看>>
    python两个列表获取交集,并集,差集
    查看>>
    python两个字典合并,两个list合并
    查看>>
    Python两个版本共存时,命令行升级pip
    查看>>
    Python两个版本共存时,怎么验证是否安装成功 scrapy
    查看>>
    Python两个版本共存时,通过pip安装Scrapy
    查看>>
    python两组变量的相关关系散点图_变量是什么?变量间的两种关系——函数关系和相关关系(小学版)...
    查看>>
    Python中 pass语句的作用
    查看>>
    python中 urllib, urllib2, httplib, httplib2 几个库的区别
    查看>>
    python中 yaml库 & json库 & xmltodict库使用
    查看>>
    python中 将你的名字转化成为二进制并输出
    查看>>
    Python中*args 和**kwargs的用法
    查看>>
    Python中*args 和**kwargs的用法
    查看>>
    Python中*args和**kwargs的使用
    查看>>
    python中0、1、True、False、if条件
    查看>>
    python中argparse模块关于 parse_args() 函数详解(全)
    查看>>
    python中base64编码与解码
    查看>>
    python中break怎么用_详解Python中break语句的用法
    查看>>