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)
但他没有解释为什么不可能.我运行了代码,它给出了一个错误,
不兼容的类型:公式不是功能接口`
那么为什么不可能或错误的含义是什么?该接口满足具有一种抽象方法的功能接口的要求.
我正在使用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对象 …
我正在使用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) 我正在使用带有正常PHP AGI的星号,在此链接后问题是我的PHP AGI需要5秒才能执行.我只想为用户设置一些等待音,等待AGI处理.在同一个链接上我找到了一些东西:
设置音乐:启用/禁用音乐保持发生器,例如"SET MUSIC ON默认值
但我不确切知道如何使用我的意思是什么是确切的语法,我把它放在哪里.
我试过添加
same => n,Set(CHANNEL(musicclass)=default)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我是新来的正则表达式通过持续的教程,我发现正则表达式[...]说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 更新到了第 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,但我的代码没有编译。
我做错了什么吗?