如何添加" L"到整数结束?

时间:2015-07-05 02:36:59

标签: java plugins integer long-integer minecraft

我试图在这个整数的末尾添加一个L,我得到一个错误,使它变长。我需要它以整数的形式... 有人可以帮帮我吗? 这是我的代码:

scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
        @Override
        public void run() {
            @SuppressWarnings("unused")
            BukkitTask task = new Timer(JavaPlugin.getPlugin(GodSends.class), amountOfChest).runTaskTimer(JavaPlugin.getPlugin(GodSends.class), 20, timeBetweenChest);
            String startMSG = plugin.getConfig().getString("startMSG");
            getServer().broadcastMessage(startMSG);
        }
    }, 0L, timeBetween); //< this needs to have an L at the end, I have it set to 60000 in the config, but I cant seem to get the L after it.

虽然,请记住,它必须严格地是 INTEGER

编辑:我需要它成为这样的东西:

{LinkOpenTag}

2 个答案:

答案 0 :(得分:2)

您使用long的API似乎要求最后两个参数的类型为int。由于long可以隐含地放入timeBetween,因此传递0会很好。

第二个参数也是如此。您也可以在其中传递0L而不是long。它也是一样的。基本上,你通过在这里显式传递 long literal 来获得任何东西。如果您想为Event Bus指定一个超出整数范围的字面值,则它们会有意义。

答案 1 :(得分:1)

您似乎试图通过放置&#34; L&#34;来尝试在运行时将int变量转换为long变量。最后&#39;整数。这不是正确的方法。

将L放在java程序中的数字整数文字的末尾将导致编译器将其视为long值,而不是int值。}, 0L, timeBetween); 但是你并没有为编译器提供文字,所以&#34; L&#34;符号对你没有帮助。

我认为你需要的是你的int转换成你的方法,无论它是什么 - 所以而不是

}, 0L, (long) timeBetween);
你应该

scheduler.scheduleSyncRepeatingTask()