当前位置: 首页 > 面试题库 >

方法内有多个打开和关闭大括号。-Java

鲁涵意
2023-03-14
问题内容
 public class MyTestClass {

    public static void main(String[] args) {
        new MyTestClass().myMethod();
    }

    public void myMethod(){
        {
        //do something 
        }
        {
            //do something 
        }
        {
            //do something 
        }
    }//method close

}//class close

这样做有什么好处?我已经看过这种代码。


问题答案:

做这种事情并不常见,我通常不会做。

那些内部块(即{ ... })可以用于两个目的:

  • 块限制了在其中声明的任何变量的范围;例如
    public void foo() {
    int i = 1;
    { 
        int j = 2;
    }
    // Can't refer to the "j" declared here.  But can declare a new one.
    int j = 3;
    

    }

但是,我不建议您这样做。IMO,最好使用不同的变量名或将代码重构为较小的方法。无论哪种方式,大多数Java程序员都会将{}视为令人讨厌的视觉混乱。

  • 块可用于粘贴标签。
    HERE : {
    ...
    break HERE;  // breaks to the statement following the block
    ...
    

    }

但是,实际上,您几乎看不到标记为break的语句。而且由于它们是如此不寻常,因此它们倾向于使代码的可读性降低。



 类似资料:
  • 本文向大家介绍写一个方法判断大括号{}是否闭合相关面试题,主要包含被问及写一个方法判断大括号{}是否闭合时的应答技巧和注意事项,需要的朋友参考一下 采取的是遍历字符串str,判断左括号{则入栈,匹配右括号}出栈 不过需要确认 返回结果和 是否属于题目中的闭合

  • 在Eclipse中有一个最棒的特性,当您将鼠标悬停在一个打开或关闭的元素(任何打开或关闭的括号'(',‘{’,'[',']',‘}’,')',引号‘“’或标记'''')上时,双击鼠标,Eclipse可以方便地选择元素的开头到结尾的内容,而不需要选择元素。 我喜欢这个功能,我非常喜欢它,如果它不在IntelliJ中,那将是一个巨大的失望,因为在Google放弃Eclipse之后,我现在被迫与Andr

  • 除了其他身份验证机制外,我还在应用程序中实现了spring security saml的一个相当标准的实现。开箱即用的SAML不会配置,但可以通过表单配置,因此默认情况下应该禁用SAML。我希望能够轻松地切换SAML开/关,但不确定这样做的最佳方式是什么。 初始化后,我获得filterchainmap值: 在下面的方法中,我将过滤器链映射设置为spring xml中提供的原始映射(如果启用)或空映

  • 问题内容: 在一个类中,我有两种使用扫描器类的不同方法。我为第一个方法创建了一个扫描程序对象的新实例,然后在第一个方法的结尾将其关闭…然后在第二个方法中创建了一个对象(具有不同名称)的新实例,最后在此方法的结尾。 除非我打开扫描仪一次,然后关闭扫描仪,否则它将无法工作并返回错误。扫描器类的双重用途似乎不起作用。我究竟做错了什么? 这是我的两种返回错误的方法… 问题答案: 您应该将Scanner声明

  • 本章讨论的是如何进入和退出CGDB。有如下几种方法: 在命令行下输入 'cgdb' 运行CGDB 在GDB窗口输入 'quit' 或者按下 'Ctrl+D' 退出CGDB 在源代码窗口输入 ':quit' 也可以退出CGDB。这在GDB挂起或者运行一条耗时很长的指令时也同样起作用

  • 在初始化(例如新列表)时使用括号中的括号实际上意味着什么? 这是否意味着创建新的引用方法后正在调用?