Java - 调用void函数而不使用分号(;)

时间:2014-10-17 19:24:22

标签: java

我想在不使用分号的情况下调用函数,这可能吗?

例如:

   void myFunction(){

}

我想在不使用分号的情况下调用它。

如果函数不是void,我可以编写

if(myfunction() != null)
{
}

如何使用void函数执行类似操作?

6 个答案:

答案 0 :(得分:4)

  

我想在不使用分号的情况下调用函数,这可能吗?

如果我理解你的问题,是的,你可以使用unicode分号而不是ASCII分号。像,

public static void main(String[] args) {
  System.out.println("Hello, World!")\u003B // <-- The Java compiler 
             // will make that a semicolon, but it clearly isn't one here.
}

答案 1 :(得分:2)

如果您需要非空write函数,请使用NIO。

http://docs.oracle.com/javase/7/docs/api/index.html?java/nio/channels/FileChannel.html

那就是说,我也不太了解你的问题。

答案 2 :(得分:2)

如果你需要一种不使用分号来调用void方法的方法,你可以使用反射而不是

/*1*/ myObject.myMethod();
/*2*/ myObject.myMethod(arg0, arg1); // myMethod(Type1 arg0, Type2 arg1)
你可以写

// 1
try { 
    if (myObject.getClass().getDeclaredMethod("myMethod").invoke(myObject) == null) {
    }
} catch (Exception e) {
}

// 2
try { 
    if (myObject.getClass().getDeclaredMethod("myMethod", Type1.class, Type2.class).invoke(myObject, arg0, arg1) == null) {
    }
} catch (Exception e) {
}

答案 3 :(得分:2)

您可以使用反射:

class Test {
    public static void functionVoid() {
        System.out.println("void from function");
    }
}

然后叫它:

      Method method = Test.class.getMethod("functionVoid");
      Object o = method.invoke(null);

答案 4 :(得分:1)

你可以随时返回虚空...

Void myFunction() {
    return null;
}

但是这个目的是什么?

答案 5 :(得分:1)

使用具有可选分号的groovy