我有这个通用功能:
public static <T extends Number> T sum(List<T> list){
Number tot = 0;
for(Number n: list){
tot = tot.doubleValue() + n.doubleValue();
}
return (T)tot;
}
Run Code Online (Sandbox Code Playgroud)
回想一下这段代码的主要内容:
public static void main(String[] args) {
ArrayList<Integer> listInt = new ArrayList<>();
listInt.add(3);
listInt.add(5);
listInt.add(6);
listInt.add(8);
System.err.println("Sum: " + Calcolatrice.sum(listInt))
}
Run Code Online (Sandbox Code Playgroud)
因此,我希望(作为listInt是一个整数的ArrayList),函数sum返回的值是T = Integer,在这种情况下,给我一个从Double到Integer的转换错误.结果的类型是Double,不会抛出任何错误.演员(T)tot没有所需的结果.
我想这是因为Java处理泛型站点阶段,但有人知道更好地解释为什么它以这种方式工作?
我更新谷歌谷歌游戏服务,如下所述:unity插件,但我有以下错误:
Google.JarResolver.ResolutionException:找不到com.google.android.gms的候选工件:play-services-games:8.4+在Google.JarResolver.PlayServicesSupport.DependOn(System.String group,System.String artifact,System.String version) )[0x00000] in:0中的GooglePlayGames.Editor.GPGSDependencies..cctor()[0x00024] /Users/gabriele/Documents/number777pro/number/Number777/Assets/GooglePlayGames/Editor/GPGSDependencies.cs:46 UnityEditor.EditorAssemblies: SetLoadedEditorAssemblies(大会[])
我试图找到一个解决方案,但没有成功,任何人都知道如何解决?