爲什麼bundle有幾種支持多種數據類型的方法 - 爲什麼不只是傳遞Object實例或在Bundle上使用泛型?
如果Bundle
類只有1個方法通過objects
,那將是可怕的,因爲這可能會導致混淆。這些多種數據類型方法可以幫助程序員確定他/她想要得到或想要的論點類型,想象一下這種情況,其中4名程序員正在進行一個項目,1名程序員想要將一個對象放在Bundle
實例中(在此例如想象,包類只有1方法把對象(多態性))
Bundle bundle = new Bundle();
bundle.putObject("animal",new Dog());
再後來的程序員的一個希望得到的是價值,做到這一點:
Bundle bundle = getArguments();
Cat variable = bundle.getObject("animal"); //This will cause an Exception, because the argument it returned isn't a Cat class.
這就是爲什麼Bundle
類有這些方法,以避免這種錯誤。
現在,下一個答案是對
或使用通用的包?
泛型是爲了避免使用Casting,並幫助程序員使用Collection Framework來避免上述類型的問題。