相关疑难解决方法(0)

C++中的" - >"运算符是什么?

看完后隐藏功能和C++/STL的暗角comp.lang.c++.moderated,我完全惊讶的是,下面的代码片断编译并在两个Visual Studio 2008和G ++ 4.4的工作.

这是代码:

#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设这是C,因为它也适用于GCC.标准中定义了哪里,它来自何处?

c++ code-formatting standards-compliance operators

8590
推荐指数
27
解决办法
75万
查看次数

如何在Java中将List <Integer>转换为int []?

这类似于这个问题: 如何在Java中将int []转换为Integer []?

我是Java的新手.我怎么能转换List<Integer>int[]Java中?我很困惑,因为List.toArray()实际上返回一个Object[],可以强制转换为虚空Integer[]int[].

现在我正在使用循环来执行此操作:

int[] toIntArray(List<Integer> list){
  int[] ret = new int[list.size()];
  for(int i = 0;i < ret.length;i++)
    ret[i] = list.get(i);
  return ret;
}
Run Code Online (Sandbox Code Playgroud)

我相信有更好的方法可以做到这一点.

java arrays collections

545
推荐指数
11
解决办法
41万
查看次数

将对象数组转换为其基本类型的数组

如果您有一个具有基本类型的Java对象数组(例如Byte,Integer,Char等).有没有一种简洁的方法我可以将它转换为原始类型的数组?特别是可以在不必创建新数组并遍历内容的情况下完成此操作.

例如,给定

Integer[] array
Run Code Online (Sandbox Code Playgroud)

什么是将其转换为最佳方式

int[] intArray
Run Code Online (Sandbox Code Playgroud)

不幸的是,当Hibernate与我们无法控制的某些第三方库之间进行交互时,我们必须经常这样做.这似乎是一个非常常见的操作,所以如果没有捷径我会感到惊讶.

谢谢你的帮助!

java arrays primitive-types

78
推荐指数
4
解决办法
5万
查看次数

Arrays.asList()不能正常工作?

我有一个float [],我想得到一个具有相同元素的列表.我可以做一个又一个添加它们的丑陋的事情,但我想使用Arrays.asList方法.但是有一个问题.这有效:

List<Integer> list = Arrays.asList(1,2,3,4,5);
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.

int[] ints = new int[] {1,2,3,4,5};
List<Integer> list = Arrays.asList(ints);
Run Code Online (Sandbox Code Playgroud)

asList方法接受一个varargs参数,对我来说,扩展是一个数组的"简写".

问题:

  • 为什么第二段代码返回List<int[]>但不返回List<int>.

  • 有没有办法纠正它?

  • 为什么自动装箱不在这里工作; 即int[]Integer[]

java arrays list variadic-functions

54
推荐指数
5
解决办法
3万
查看次数

java中int数组的ArrayList

我是arraylist概念的新手.我做了一个简短的程序如下:

ArrayList<int[]> arl=new ArrayList<int[]>();
int a1[]={1,2,3};
arl.add(0,a1);
System.out.println("Arraylist contains:"+arl.get(0));
Run Code Online (Sandbox Code Playgroud)

它给出了输出: Arraylist contains:[I@3e25a5

现在我的问题是:

  1. 如何显示正确的值,即1 2 3.
  2. 如何访问数组a1的单个元素,即如果我想知道a1 [1]的值.

java arraylist

52
推荐指数
5
解决办法
42万
查看次数

在java中将二维数组转换为List?

我有一个m X nObject的二维数组说Foo.所以我有Foo[][] foosArray.将其转换为List<Foo>Java 的最佳方法是什么?

java

22
推荐指数
5
解决办法
4万
查看次数

如何将arrayList的元素传递给variadic函数

我有一个填充了元素的arrayList.我想将该数组列表的元素作为参数传递给可变参数函数.

我的功能

public SequenceEntityModifier(final IEntityModifier... pEntityModifiers)
Run Code Online (Sandbox Code Playgroud)

我的ArrayList

ArrayList<IEntityModifier> arr = new ArrayList<IEntityModifier>();
arr.add(new MoveXModifier(1, 50, 120));
arr.add(new MoveXModifier(1, 120, 50));
Run Code Online (Sandbox Code Playgroud)

我想将它传递给函数,好像我会单独传递它们一样.

new SequenceEntityModifier( /* elements of arr here */ );
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

提前致谢.

java collections variadic-functions andengine

21
推荐指数
1
解决办法
7202
查看次数

使用Java 8将String数组转换为int数组的最简单方法是什么?

我目前正在学习如何使用Java,我的朋友告诉我,使用Java 8时可以简化这段代码.他指出parseIntArray可以简化.你会如何在Java 8中做到这一点?

public class Solution {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String[] tokens = input.nextLine().split(" ");
        int[] ints = parseIntArray(tokens);
    }

    static int[] parseIntArray(String[] arr) {
        int[] ints = new int[arr.length];
        for (int i = 0; i < ints.length; i++) {
            ints[i] = Integer.parseInt(arr[i]);
        }
        return ints;
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays java-8 java-stream

13
推荐指数
2
解决办法
1万
查看次数

为什么Java泛型不允许对泛型类型进行类型转换?

public class Main {

    public static <T> void foo(T[] bar) {
        double d = (double) bar[0]; // Error : incompatible types
    }

    public static void main(String[] args) {
        int[] int_buf = new int[8];
        foo(int_buf);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题在代码中指出.

为什么Java泛型不允许对泛型类型进行类型转换?

java generics type-conversion

10
推荐指数
2
解决办法
626
查看次数

将Integer []转换为int []的最佳方法是什么?

将Integer数组转换为int数组的最佳方法是什么?

它的简单解决方案是:

public int[] toPrimitiveInts(Integer[] ints) {
    int[] primitiveInts = new int[ints.length];
    for(int i = 0; i < ints.length; i++) {
        primitiveInts[i] = ints[i] == null ? 0 : ints[i];
    }
    return primitiveInts;
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我采用0null对象/包装器的默认值为null并且int为0这一事实的值.

这个答案显示了如何将int []转换为Integer []

但我找不到将Integer []转换为int []的简单方法.

java arrays

7
推荐指数
1
解决办法
153
查看次数