小编cod*_*mer的帖子

为什么我们不能在lambda表达式中使用默认方法?

在Java 8上阅读本教程,其中作者展示了代码:

interface Formula {
    double calculate(int a);

    default double sqrt(int a) {
        return Math.sqrt(a);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后说

无法从lambda表达式中访问默认方法.以下代码无法编译:

Formula formula = (a) -> sqrt( a * 100);
Run Code Online (Sandbox Code Playgroud)

但他没有解释为什么不可能.我运行了代码,它给出了一个错误,

不兼容的类型:公式不是功能接口`

那么为什么不可能或错误的含义是什么?该接口满足具有一种抽象方法的功能接口的要求.

java lambda interface java-8 default-method

42
推荐指数
3
解决办法
7698
查看次数

通过ajax发布表单并在play框架java中获取表单对象

我正在使用play framework 2.3.8 java并使用ajax提交表单,但我无法从该请求中获取Form对象.我的问题解释如下.我有一个模特

@Entity
public class Permission {
    @Id
    @Column(name = "id", nullable = false)
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String per1= "off";

    private String per2= "off";

    // getter setters
}
Run Code Online (Sandbox Code Playgroud)

我的表格

<form id="form-permission">
    <!--Setting "on" and "of" value from js-->
    <input type="checkbox" id="per1" name="per1">
    <input type="checkbox" id="per2" name="per2">
    <input type="submit" >
</form>

$('#form-permission').on('submit',function(){
    var uid=// id to update

    myJsRoutes.controllers.MyController.updatePer(uid).ajax({

    data : $("#form-permission").serialize(),
        success : function(data) {
            console.log(data);
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

当提交没有ajax的表单时, play会将请求数据绑定到模型Object,我们可以获得Form对象 …

java forms ajax jquery playframework

12
推荐指数
1
解决办法
1872
查看次数

将组名称添加到星号中的accoding pri端口

我正在使用sagoma 8端口卡我chan_dahdi.conf的配置端口是

;autogenerated by /usr/sbin/wancfg_dahdi do not hand edit
;autogenrated on 2015-06-12
;Dahdi Channels Configurations 
;For detailed Dahdi options, view /etc/asterisk/chan_dahdi.conf.bak

[trunkgroups]

[channels]
context=default
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no

;Sangoma A108 port 1 [slot:4 bus:2 span:1] <wanpipe1>
switchtype=euroisdn
context=from-pstn
group=1
echocancel=yes
signalling=pri_cpe
channel =>1-15,17-31

;Sangoma A108 port 2 [slot:4 bus:2 span:2] <wanpipe2>
switchtype=euroisdn
context=from-pstn
group=2
echocancel=yes
signalling=pri_cpe
channel =>32-46,48-62

;Sangoma A108 port 3 [slot:4 …
Run Code Online (Sandbox Code Playgroud)

ivr asterisk phone-call pbx

10
推荐指数
1
解决办法
823
查看次数

设置星号agi功能处理的等待音

我正在使用带有正常PHP AGI的星号,在链接后问题是我的PHP AGI需要5秒才能执行.我只想为用户设置一些等待音,等待AGI处理.在同一个链接上我找到了一些东西:

设置音乐:启用/禁用音乐保持发生器,例如"SET MUSIC ON默认值

但我不确切知道如何使用我的意思是什么是确切的语法,我把它放在哪里.

我试过添加

same => n,Set(CHANNEL(musicclass)=default)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

php ivr asterisk agi

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

[...]正则表达式的含义是什么?

我是新来的正则表达式通过持续的教程,我发现正则表达式[...]Matches any single character in brackets..所以我试过了

System.out.println(Pattern.matches("[...]","[l]"));
Run Code Online (Sandbox Code Playgroud)

我也试过逃避括号

System.out.println(Pattern.matches("[...]","\\[l\\]"));
Run Code Online (Sandbox Code Playgroud)

但它给了false我预期,true因为l它在括号内.

如果有人清楚我的怀疑,那会很有帮助.

java regex

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

在 java 8 中使用 lambda 时出现表达式非法开始错误

我最近将我的 java 更新到了第 8 版并尝试了一些 Lambda,但出现了错误。

我的代码

String[] st = {"ak","ss","dd"};

Arrays.asList(st).forEach(data -> System.out.println(data));
Run Code Online (Sandbox Code Playgroud)

控制台的输出是

PS E:\> javac .\Lambdas.java
.\Lambdas.java:11: error: illegal start of expression
                   Arrays.asList(st).forEach(data -> System.out.println(data));
                                                   ^
1 error
PS E:\> java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我有上面看到的 java 8,但我的代码没有编译。

我做错了什么吗?

java lambda list syntax-error java-8

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