小编Ang*_*isi的帖子

使用流填充多维数组

我是Java 8的新手,目前还没有完全掌握Streams,是否可以使用Stream功能操作来填充数组?这是一个示例代码,说明如何使用标准for循环:

public static void testForLoop(){
    String[][] array = new String[3][3];
    for (int x = 0; x < array.length; x++){
        for (int y = 0; y < array[x].length; y++){
            array[x][y] = String.format("%c%c", letter(x), letter(y));
        }
    }               
}

public static char letter(int i){
    return letters.charAt(i);
} 
Run Code Online (Sandbox Code Playgroud)

如果有可能我如何使用Stream?如果可能,它是否方便(性能和可读性)?

java arrays functional-programming java-8 java-stream

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

Java单例设计模式与全局变量

我开发了一个“Java测验应用程序”,它具有许多功能,例如测验进行、即时报告功能、学生可以发布他们的疑问等等。

我想维护请求测验的学生人数、提交回复的学生人数、活跃学生总数和其他一些详细信息的日志。

我正在使用一个全局类,它具有静态变量来保存这些详细信息。这是维护它的正确方法还是我应该使用单例设计模式?

请告诉我两者的优缺点以及使用哪一种以及何时使用?

java static design-patterns global-variables

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

Java 8无法访问的代码

我对Java很新,我在其中一本书中遇到过一两次这个问题.这是一个超级简单的程序,我只是不明白为什么它不起作用.我知道当你使用return时,方法中的任何东西都没有意义.那么这意味着你执行for语句或if语句是一个返回?

我在最新版本的Eclipse中使用Windows 8上的Java 8.

这是我的简单程序:

// Find the sum of 1 through 50 and the average.

class SumAndAverage
{
    public static void main(String args[])
    {
        int sum = 0;
        double average = 0;
        for(int i = 1; 1 <= 50; i++)
        {
            sum += i;
        }

// the following code is "unreachable"
        average = sum / 100;

        System.out.println("The sum is: " + sum);
        System.out.println("The average is " + average);
    }
}
Run Code Online (Sandbox Code Playgroud)

java unreachable-code java-8

-2
推荐指数
1
解决办法
149
查看次数