科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java 中少为人知的小点子

Java 中少为人知的小点子

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

或许你已经听过goto语句之争,也知道在Java中goto仍然是一个保留的keyword,但不允许使用。先来看看goto的经典使用方法。

作者:Mark 来源:CSDN 2008年2月29日

关键字: 小点子 少为人知 java

  • 评论
  • 分享微博
  • 分享邮件

1.废话

或许你已经听过goto语句之争,也知道在Java中goto仍然是一个保留的keyword,但不允许使用。先来看看goto的经典使用方法:

1:statement1;
2:statement_label_for_section2:
3:statement2;
4:goto statement_label_for_section2;


可以看出 2:statement_label_for_section2: 为一代码片段(Section)的开始标记。

Java语言中不允许使用goto,但可以使用像 2:statement_label_for_section2: 一样的代码片段标记作为 break/continue的跳转目标。

相关标准文件请参见:<<Java Language Spec. >>14.7 Labeled Statements

2.应用

嵌套循环中,我有时会需要从内循环中直接跳到外循环。用Labeled Statements就可以方便实现。

1: for(int I1 = 0; I1 < 10; I1++) {
2: loop1:
3: for(int I2 = 0; I2 < 20; I1++) {
4: break loop1; 5: } 6: }

continue的用法与break的用法是一样的。

Java语言中还有很多没有广泛应用的小点子。请参见:<<Java Language Spec. >>

3.Blocks

<<Java Language Spec. >>14.2 Blocks

或许你跟我一样都是个懒鬼。特别在Test Case 代码当中,我经常需要在同一Method中定义一大堆的对象,这些对象的操作大者是大同小异的,你应该知道我在想什么了:Copy&Past。而为每个对象都起一个不同的名字是件痛苦的事。同时这些对象往往只是短命鬼。

1:import java.util.ArrayList;
2:import java.util.Collection;
3:
4:public class T2 {
5:
6: public static void main(String[] args) {
7: {
8: Collection c = new ArrayList();
9: c.add( "1" );
10: c.clear();
11: }
12: {
13: Collection c = new ArrayList();
14: c.add( "2" );
15: c.clear();
16: }
17: }
18:
19:}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章