var d:Dynamic = true; d = 22; d = "hi";
どのように私は、Javaの変数のこのようなものを作成するのですか?
var d:Dynamic = true; d = 22; d = "hi";
どのように私は、Javaの変数のこのようなものを作成するのですか?
あなたはObject
Object d = true;
d = 22;
d = "hi";
使用することができますし、Javaがそれを避けて悪である
Object d = true;
System.out.println(d instanceof Boolean); // true
d = 22;
d = "hi";
System.out.println(d instanceof Integer); // false
System.out.println(d instanceof String); // true
'instanceof'の使用は、コードの匂いです。通常、欠陥のある型分析から逃げ出しています。あなたが何をしているのか分からない限り、乱雑でバグの多いコードを作成する傾向があります。 –
@Lew、あなたは100%正しいです。しかし、投稿されたanwserは質問を再生します。 –
私はC#の '動的'のように、動的変数が実行時に使用法を解決すると期待します。つまり、 'd.foo()'は実行時に 'd'が' foo'メソッドを持っているかどうかをチェックします。 – chris
動的型付け保持しているデータd
の種類をチェックするためにinstanceof
演算子を使用することができます。 SwiftとC#のように、Javaは強く型付けされているので、より安全できれいなコードになります。だからダークサイドに入れて、あなたの反逆の道を離れてください。タイプ指向プログラミングの力を受け入れます。あなたはそれの方が良いでしょう。
JVMで動作するGroovy言語でミキシングすることができます。これは型の推測を持っています
Javaには型推論があります。型推論は動的型付けではありません。型推論は強い型付けの戦略です。 –
'Object'私はあなたが探しているものだと思います。 –