小编Ani*_*wat的帖子

为什么由返回另一个静态变量的方法调用初始化的静态变量保持为空?

我根本不理解以下代码的执行流程:

class Test {
    static String s1 = getVal();
    static String s2 = "S2";

    private static String getVal() {
        return s2;
    }

    public static void main(String args[]) {
        System.out.println(s2); // prints S2
        System.out.println(s1); // prints null
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该S2在第二个println声明打印.我更感兴趣的是理解为什么会发生这种情况而不是解决方案.

java static-variables

16
推荐指数
2
解决办法
467
查看次数

表达式语言lambda类型推断

通常我会这样做:

Function<Integer, Integer> a = b -> b * 2;
System.out.println(a.apply(3)); // prints 6
Run Code Online (Sandbox Code Playgroud)

我很惊讶地看到EL表达式有效:

${a = b -> b * 2; a(3)}
Run Code Online (Sandbox Code Playgroud)

以上EL表达式的结果是6.a在代码片段2中声明时,编译器如何确定类型但需要在代码段1中输入类型信息?

即使这样编译并执行正常:

${(b -> b * 2)(3)}
Run Code Online (Sandbox Code Playgroud)

lambda el java-ee

11
推荐指数
1
解决办法
305
查看次数

如何解决“add all in list 无法应用到”

我有这个方法:

filteredListIn.addAll(Stream.of(listRef)
    .filter(results ->
            results.getTitle().contains(query.toString().toLowerCase())
     ));
Run Code Online (Sandbox Code Playgroud)

有了这两个变量:

private List<Results> listRef = new ArrayList<>();
List<Results> filteredListIn = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

但我得到

为 addAll(Stream) 找到了已过滤的ListIn.addAll(Stream.of(listRef) ^ 方法 Collection.addAll(Collection) 不适用(参数不匹配;Stream 无法转换为 Collection)方法 List.addAll(Collection) 不适用

有什么问题,我该如何解决?

这可能是因为我使用外部库来支持 api 24 下的流吗?

java android java-stream

11
推荐指数
2
解决办法
539
查看次数

在Ubuntu 16.04上出现此错误,无法找到包dotnet-dev-1.0.0-preview2

我按照这个链接的说明进行操作.

$ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
$ sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

然后在我运行此命令时:

$ sudo apt-get install dotnet-dev-1.0.0-preview2.1-003177
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

E:无法找到包dotnet-dev-1.0.0-preview2.1-003177

E:找不到任何正则表达式'dotnet-dev-1.0.0-preview2.1-003177'的软件包

请帮忙!

asp.net asp.net-mvc ubuntu-16.04

9
推荐指数
1
解决办法
1272
查看次数

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

PHP 7.2中的未定义常量错误

我在php中有这些错误,v7.2但是E_WARNING在使用php时看不到任何错误v7.1

如何解决以下错误?

/web13/web/boutique/includes/Sites/Shop/NavigationHistory.php,第39行[2018年1月12日22:44:20美国/多伦多] PHP警告:使用未定义的常量MODULE_HEADER_SELECT_TEMPLATE_STATUS-假定为'MODULE_HEADER_SELECT_TEMPLATE_STATUS'(此操作将在第356行的/var/www/clients/client1/web13/web/boutique/includes/Sites/Shop/Template.php中引发错误)

php

7
推荐指数
2
解决办法
4万
查看次数

我如何使用IMC_CROP_TRANSPARENT的imagecropauto()?

当我尝试裁剪图像的透明区域时,它会保持原始大小,并且透明区域变黑.

如果我运行此代码:

<?php
    // Create a 300x300px transparant image with a 100px wide red circle in the middle
    $i = imagecreatetruecolor(300, 300);
    imagealphablending($i, FALSE);
    imagesavealpha($i, TRUE);
    $transparant = imagecolorallocatealpha($i, 0xDD, 0xDD, 0xDD, 0x7F);
    imagefill($i, 0, 0, $transparant);
    $red = imagecolorallocate($i, 0xFF, 0x0, 0x0);
    imagefilledellipse($i, 150, 150, 100, 100, $red);
    imagepng($i, "red_300.png");

    // Crop away transparant parts and save
    $i2 = imagecropauto($i, IMG_CROP_TRANSPARENT);
    imagepng($i2, "red_crop_trans.png");
    imagedestroy($i2);

    // Crop away bg-color parts and save
    $i2 = imagecropauto($i, IMG_CROP_SIDES);
    imagepng($i2, "red_crop_sides.png");
    imagedestroy($i2);

    // …
Run Code Online (Sandbox Code Playgroud)

php gd

6
推荐指数
1
解决办法
1447
查看次数

卸载 PHP-FPM (7.0) UBUNTU 或重置配置

我想知道如何PHP7.0-FPM从 ubuntu 16.x卸载

我尝试删除它,但重新安装时配置是相同的,如何完全撤消我在配置中所做的更改?

php ubuntu

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

在PHP中将函数作为参数传递

我见过有人这样做:

usort($array, function() {
    //...
});
Run Code Online (Sandbox Code Playgroud)

如何使用自己的函数编写类似的实现?例如:

runIt(function() {
     //...
});
Run Code Online (Sandbox Code Playgroud)

和实施runIt:

function runIt() {
    // do something with passed function
}
Run Code Online (Sandbox Code Playgroud)

php

5
推荐指数
1
解决办法
110
查看次数

为什么更改列表创建数组时会修改列表

import java.util.*;

public class Test {
    public static void main(String[] args) {
        String[] arr = {"Java", "Champ", "."};
        List<String> list = (List<String>) Arrays.asList(arr); // line 1
        arr[2] = ".com"; // line 2
        for (String word : list) {
            System.out.print(word);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

能否请人解释一下为什么我们来到“ JavaChamp.com”?我认为应该只是“ JavaChamp”。因为第二行在第一行之后

java collections

5
推荐指数
1
解决办法
81
查看次数