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

Java方法中是否使用自由浮动块?

后化
2023-03-14
问题内容

我不知道方法可以有这样的浮动块:

class X { 
    public static void main( String [] args ) {
        { //<--- start
            int i;
        } //<-- ends
    }
}

我知道方法外的浮动块,但从未在内部尝试过。

这可能用于定义本地范围或其他内容。

Java方法中的浮动块有用途吗?


问题答案:

有用途吗?

是-限制局部变量的范围。

这是个好主意吗?

可能值得商bat(可能会)。

“赞成”阵营会说缩小变量范围绝不会有伤害。“骗子”阵营会说,如果您在方法中使用它,并且您的方法足够长,可以保证将变量的范围缩小到特定部分,那么这可能表明您应该在不同部分中使用单独的方法。

我个人使用它们,例如:

public void doGet(
        final HttpServletRequest request,
        final HttpServletResponse response)
  throws IOException {
    final PersistenceManager pm = PMF.get().getPersistenceManager();

    final List<ToDoListGaejdo> toDoLists;
    {
        final Query query = pm.newQuery(ToDoListGaejdo.class);
        query.setOrdering("listName asc");
        toDoLists = (List<ToDoListGaejdo>) query.execute();
    }

    final List<ToDoItemGaejdo> entries;
    {
        final Query query = pm.newQuery(ToDoItemGaejdo.class);
        query.setOrdering("listName asc, priority asc");
        entries = (List<ToDoItemGaejdo>) query.execute();
    }

    final ServletOutputStream out = response.getOutputStream();

    out.println("<head>");
    out.println("  <title>Debug View</title>");
    ....


 类似资料:
  • 问题内容: 这真的很奇怪。我有这段代码。 $ amt的值是0.01。但这正在进入其他条件。所以我做了$ amt的var_dump。它说string(4)所以我决定改型$ amt 但是,这样做的问题是,即使$ amt的值为1,它也仍然会类型转换为浮动状态,并进入if条件,这是不应该发生的。还有其他方法吗?谢谢 问题答案: 如果将第一行更改为 $ rewardAmt应该转换为数字。

  • 浮点是C语言中定义的实现,因此没有任何保证。 我们的代码需要可移植,我们正在讨论是否可以在协议中使用IEEE754浮动。出于性能考虑,如果我们在发送或接收数据时不必在定点格式之间来回转换,那就太好了。 虽然我知道平台和架构之间在或的大小上可能存在差异。但我似乎找不到任何关于和的具体信息。 到目前为止,我发现在big endian平台上字节顺序可能会颠倒。虽然有些平台不支持浮点运算,但包含和的代码甚

  • Maven shade插件创建的是否自动用于依赖于uberjar的项目(而不是普通的)? 在阅读了大量与dependency-reduced-pom.xml相关的问题并没有找到答案之后提出这个问题: 将dependency-reduced-pom.xml添加到基目录的Maven shade插件

  • 问题内容: 我正在Scala中开发JavaFX8应用程序,但无法弄清楚如何将方法引用传递给事件处理程序。为了澄清,我没有使用ScalaFX库,而是直接在JavaFX之上构建我的应用程序。 这是相关的代码片段。 InputController.java (我用Java编写了此测试类,以隔离问题以仅使用方法参考) 这有效(Java) 这不起作用(Scala) 这是来自编译器(Scala 2.11.6)

  • 有没有一种简单的方法可以让Git总是在创建的每个提交或标记上签名? 我试过这样的方法: 但这并没有成功。 我不想安装不同的程序来实现这一点。它容易做到吗? 只是一个附带的问题,也许提交不应该被签名,只有标签,我从来没有创建过,因为我为一个项目提交了单个提交,比如Homebrew,等等。

  • 我最近使用了HikariCP。在我使用自己的简单连接池来满足我们的需求之前。在我们的软件中,有时我们需要执行多个数据库插入,其中每个插入都取决于一些验证。或多或少与此网站的样本相似:http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html#commit_transactions 在我的旧方法中,当我使用自己的conn池