Fre*_*Dan 4 java weak-typing strong-typing
为什么在使用现有变量键入新变量时输入全部或全部?
例如,假设我有一个data类型为的变量List<Map<String, ArrayList<String>>>,我想将其值传递给tempData.为什么在决定tempData我的类型时我是否仅限于List或List<Map<String, ArrayList<String>>>?
如果我只想与某个"级别"进行交互data,比如Map级别,我该如何跳到那里?比如为什么我不能List<Map> tempData = data?
我搜索过我的教科书和这个网站,但我无法找到解释原因的地方.如果我们被允许"部分打字",是否会出现问题?
我知道我可以强烈打字tempData,但我很好奇为什么Java有一个全有或全无的方法.
Mar*_* A. 10
实际上,你可以:诀窍是在你的声明中使用?和? extends.以下工作并逐步更具体:
List<Map<String, ArrayList<String>>> data = null; // Replace null with content
Object temp1 = data;
List<?> temp2 = data;
List<? extends Map<?, ?>> temp3 = data;
List<? extends Map<String, ?>> temp4 = data;
List<? extends Map<String, ? extends ArrayList<?>>> temp5 = data;
List<Map<String, ArrayList<String>>> temp6 = data;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |