質問
あJava Void
--大文字V-- 参照型.唯一の状況でいいのといったらてのらさんではparameterize Callable
s
final Callable<Void> callable = new Callable<Void>() {
public Void call() {
foobar();
return null;
}
};
その他の用途のJava Void
参照す。でも指定以外のもの null
?また、いする。
解決
Void
となってい条約は、一般の引数いることに興味がない。そのものを使用できるその他の非instantiableタイプなど System
.
広く採用されています、例えば Map
値が Collections.newSetFromMap
用途 Boolean
どん受け入れはしてお null
値) java.security.PrivilegedAction
.
書いた ブログの入力 月 Void
ができました。
他のヒント
を作成できますインスタンスのボイドを反射すが、なに役立つものです。ボイドがを示すような一般的方法を返します。
Constructor<Void> constructor = Void.class.getDeclaredConstructor();
constructor.setAccessible(true);
Void v = constructor.newInstance();
System.out.println("I have a " + v);
版画のようなもの
I have a java.lang.Void@75636731
Future<Void>
作品のような魅力です。:)
があることから、 ないpublicコンストラクタ, んじゃないでしょうかはできなくな担当以外のもの null
.ったとして利用するには、プレースホルダ"おんする必要があるの汎用パラメーターとしての例です。
で使用することも反映し、その Javadoc "と言ってい
ボイドのクラスは、uninstantiableプレースホルダークラスへの参照を保持するクラスを表すオブジェクトのJavaのキーワードは無効となるものとする。
すべてのプリミティブラッパークラス(Integer
, Byte
, Boolean
, Double
, 等) の参照が含まれているのに対応するプリミティブクラスの静的な TYPE
分野、例えば:
Integer.TYPE == int.class
Byte.TYPE == byte.class
Boolean.TYPE == boolean.class
Double.TYPE == double.class
Void
した初めに作られたものとしてどこかに置への参照 void
タイプ:
Void.TYPE == void.class
しかし、にんに本当に得るものを使用 Void.TYPE
.ご利用の際は void.class
でより鮮明に見せなければならないことをやっているもの void
タイプです。
ちなみに、前回ってみたので BeanShell かを認識 void.class
, ですから、使用 Void.TYPE
あります。
をご利用の場合 お客様のパターン できるクリーナー用ボイドの代わりにオブジェクトがしたいっていることをご確認ください戻り値はnullにな
例
public interface LeavesVisitor<OUT>
{
OUT visit(Leaf1 leaf);
OUT visit(Leaf2 leaf);
}
するには、以下の方法がありますの実施お客様で明示的に設定を無効とするお客様は常にnullを返しを使わずにオブジェクト
public class MyVoidVisitor implements LeavesVisitor<Void>
{
Void visit(Leaf1 leaf){
//...do what you want on your leaf
return null;
}
Void visit(Leaf2 leaf){
//...do what you want on your leaf
return null;
}
}
前のジェネリック薬で製作された、反射APIの開催によって返される型方法です。getReturnType()のための空法に該当するその他のプリミティブ型ます。
編集:からのJavaDocのボイド:"のボイドのクラスは、uninstantiableプレースホルダークラスへの参照を保持するクラスを表すオブジェクトのJavaのキーワードvoid".以前のジェネリック医薬品、私は認識しな利用以外の反射を生み出します。
としてできないインスタンスを生成Voidを使用でき Apache commons Nullオブジェクト, ので、
Null aNullObject = ObjectUtils.Null;
Null noObjectHere = null;
最初のラインナップは、あなたにオブジェクトで aNullObject != null
開催中の線があったが、 noObjectHere == null
持
答えによらのポスターの質問は、カメラとして使用する場合は差別化する"、"何もしない全く違います。
PS:っているのNullオブジェクトのパターン
ボイドが作成後、ボイドプリミティブタイプです。毎プリミティブ型において、対応する参考タイプです。Voidを使いインスタンスを生成する汎用クラスまたは利用の汎用的な方法は、一般の引数が魔法使いの方々はとても喜んでください。ここでは一例です---
public void onNewRegistration() {
newRegistrationService.createNewUser(view.getUsername(), view.getPassword(),
view.getInitialAmount(), view.getCurrency(), new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
}
@Override
public void onSuccess(Void result) {
eventBus.fireEvent(new NewRegistrationSuccessEvent());
}
});
}
ここでは、ご覧の通り、たくないものから、サーバーという新しい登録が public interface AsyncCallback<T> { .... }
は汎用インタフェースで提供していボイドからジェネリック医薬品なプリミティブ型
でも一般的に使用される非同期-IOデフォルト合いによっての必要性 Attachment
オブジェクトです。その場合にnullを指定しのIO運営-実施 CompletionHandler<Integer,Void>
.
では珍しい場合は、一度使用した Void
内面ます。
この面での後方法とは @Log
アノテーションおよびログの方法に返され、一部の情報このメソッドの戻り値の型が無効となります。
@AfterReturning(value = "@annotation(log)",
returning = "returnValue",
argNames = "joinPoint, log, returnValue"
)
public void afterReturning(final JoinPoint joinPoint, final Log log,
final Object returnValue) {
Class<?> returnType = ((MethodSignature) joinPoint.getSignature())
.getReturnType();
if (Void.class.isAssignableFrom (returnType)) ) {
//Do some log
}
}