本文共 1975 字,大约阅读时间需要 6 分钟。
今天遇到了一个有趣的场景——Oracle的赛前试考来得及时!作为一个自认为对Java还有些差距的新手,在高人@ZoeCur的指导下,终于完成了这场试考。虽然试题内容有些特别,但还是学到了不少东西。
试考中有一道选择题看似简单,却让我陷入了一番思考。题目问的是:"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方法,我参考了MSDN上的C#示例。通过对比不同语言中的split实现,发现每种语言都有自己的特点。例如,在C#中,可以通过传递字符数组来指定分隔符,而Visual Basic则使用字符串分隔符。
通过进一步研究split方法的文档,掌握了以下几点关键信息:
为了更直观地理解split方法的行为,我分析了以下几个示例:
{",", " "}{"42", "", "12", "", "19"}{".", "", "."}{"42", "", "12", "", "19"}{\n}{"Darb", "Smarba"}通过这次试考,我深刻体会到以下几点:
为了拓宽知识面,我尝试解决了一个关于继承与实现的编程题。题目要求创建一个抽象类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/