
例如 field = [] //python 列表 predefinedVars = [n, t, q, field] n, t, q 均为 int 还有 tuple (pedefinedVars, int) 像上面的 predefinedVars 和元组 这些用 java 该怎么表示? 1 gzk329 OP import net.mindview.util.FourTuple; new FourTuple<A, B, C, D>(a, b, c, d); 或者这个包能用吗? |
2 Rwing Dec 18, 2020 C#欢迎你 var predefinedVars = Tuple.Create(n, t, q, field); |
3 Tsukihime Dec 18, 2020 Python 的列表对应 Java 的 List (或者 Deque,如需要从两端操作的话),Java 没有元组,通过 List 的一些实现类可以实现不支持修改。 List<Integer> predefinedVars = Arrays.asList(1, 2, 3); List<Integer> tuple1 = List.of(1, 2, 3); List<Integer> tuple2 = Collections.unmodifiableList(predefinedVars); |
4 gzk329 OP // // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package net.mindview.util; public class TwoTuple<A, B> { public final A first; public final B second; public TwoTuple(A a, B b) { this.first = a; this.secOnd= b; } public String toString() { return "(" + this.first + ", " + this.second + ")"; } } 跟我想的不大一样。。。 |
5 Rwing Dec 18, 2020 我错了,C#还有个语法糖可以直接这样: var predefinedVars = (n, t, q, field); |
6 INCerry Dec 18, 2020 C#欢迎你 int n = 1; int t = 2; int q = 3; var field = new []{4, 5, 6}; var predefinedVars = (n, t, q, ield); System.Console.WriteLine($"n:{predefinedVars.n}"); System.Console.WriteLine($"t:{predefinedVars.t}"); System.Console.WriteLine($"q:{predefinedVars.q}"); System.Console.WriteLine($"field:[{string.Join(',',predefinedVars.field)}]"); 在线运行结果: https://sharplab.io/#v2:EYLgtghgzgLgpgJwDQxAgrgOwD4EtMwAEmhAvIQIwDcAsAFD5FHkBMtDBhAjmYQMzsAbhASEAZrjgAbACa9McAO6EA2gF0A3gBYkhAKy6AbAF8hIwgAcEcGXAkKZANRFReACky6YurronSZAEp2egABCgA6cIBONwASACJMEA0rGzt8G2cEKAjMYwTgsMiY+ITUVOtbeyyXCJgCorpwqIpYxK4UtOrMpzquRvYW0sT/WRAVDXCABgiAKQB7fDcAciQ17oyHbNyxoOM1QqogA |
7 Cbdy Dec 18, 2020 via Android 用 java.util.List |
8 Jrue0011 Dec 18, 2020 看起来你像是在看 Thinking in Java 并用了它的包 |
12 zzl22100048 Dec 18, 2020 via iPhone 元组用 vavr |
13 mmdsun Dec 19, 2020 via Android tuple 用不可变 list 代替就行。 或者用 apache common Pair 包这个里面有 tuple 列表合并: Stream.of(list1,list2) .flatMap(x->x.stream()) .collect(ToList()) 这种类似于 js 的扩展运算符?好像 Java 不支持。 |
14 dingwen07 Dec 19, 2020 既然知道每个位置的类型应该可以从 Object 转型 |