博客
关于我
【再探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/

    你可能感兴趣的文章
    Objective-C实现atoi函数功能(附完整源码)
    查看>>
    Objective-C实现average absolute deviation平均绝对偏差算法(附完整源码)
    查看>>
    Objective-C实现average mean平均数算法(附完整源码)
    查看>>
    Objective-C实现average median平均中位数算法(附完整源码)
    查看>>
    Objective-C实现average mode平均模式算法(附完整源码)
    查看>>