例如,在Haxe我可以創建嚴格類型的變量: var a:Float = 1.1;
或var b:String = "hello"
也充滿活力,如果需要的話:如何在Java中創建動態變量?
var d:Dynamic = true; d = 22; d = "hi";
如何創建這樣的在Java中的變量?
例如,在Haxe我可以創建嚴格類型的變量: var a:Float = 1.1;
或var b:String = "hello"
也充滿活力,如果需要的話:如何在Java中創建動態變量?
var d:Dynamic = true; d = 22; d = "hi";
如何創建這樣的在Java中的變量?
您可以使用Object
Object d = true;
d = 22;
d = "hi";
,您可以使用instanceof
操作來檢查哪些類型的數據d
的持有
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#的'dynamic'。也就是說,'d.foo()'會在運行時檢查'd'是否有'foo'方法。 – chris
你可以看看在JVM上運行的groovy語言混合。這有類型推理
Java有類型推斷。類型推斷不是動態類型。類型推斷是強打字的一種策略。 –
'對象'我認爲是你在找什麼。 –