相关疑难解决方法(0)

用于Java Void参考类型?

有一个Java Void- 大写的V-- 引用类型.我见过它唯一的情况是参数化Callables

final Callable<Void> callable = new Callable<Void>() {
            public Void call() {
                foobar();
                return null;
            }
        };
Run Code Online (Sandbox Code Playgroud)

Java Void引用类型还有其他用途吗?可以分配除了以外的任何东西null吗?如果是的话,你有例子吗?

java void

158
推荐指数
7
解决办法
8万
查看次数

如果方法的返回类型为Void,我会返回什么?(不是无效!)

由于在Java中使用泛型,我最终必须实现具有Void返回类型的函数:

public Void doSomething() {
    //...
}
Run Code Online (Sandbox Code Playgroud)

并且编译器要求我返回一些东西.现在我回来了null,但我想知道这是不是很好的编码实践......

我也试过Void,void,Void.class,void,没有回报可言,但都不会在所有的工作.(出于或多或少的明显原因)(详情请参阅此答案)

  • 那么如果函数的返回类型是什么,我应该返回Void.TYPE什么?
  • new Void()堂课的一般用途是什么?

编辑:只是为了免除你的支持:我问的是V oid,而不是v oid.类Void,而不是保留关键字Void.

java generics void

113
推荐指数
4
解决办法
6万
查看次数

Java 如何知道使用 lambda 表达式调用哪个重载方法?(供应商、消费者、可调用……)

首先,我不知道如何恰当地表达这个问题,所以这是一个建议。

假设我们有以下重载方法:

void execute(Callable<Void> callable) {
    try {
        callable.call();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

<T> T execute(Supplier<T> supplier) {
    return supplier.get();
}

void execute(Runnable runnable) {
    runnable.run();
}
Run Code Online (Sandbox Code Playgroud)

从这张表出发,我从另一个问题中得到了答案

Supplier       ()    -> x
Consumer       x     -> ()
BiConsumer     x, y  -> ()
Callable       ()    -> x throws ex
Runnable       ()    -> ()
Function       x     -> y
BiFunction     x,y   -> z
Predicate      x     -> boolean
UnaryOperator  x1    -> x2
BinaryOperator x1,x2 -> x3
Run Code Online (Sandbox Code Playgroud)

以下是我在本地得到的结果:

Supplier       ()    -> …
Run Code Online (Sandbox Code Playgroud)

java lambda overloading function

23
推荐指数
2
解决办法
2142
查看次数

标签 统计

java ×3

void ×2

function ×1

generics ×1

lambda ×1

overloading ×1