我听说有传言称PHP正计划引入"goto"命令.该怎么办?
我尝试了一下,但没有找到任何描述性的东西.我明白这不会是一个" GOTO 10"式的命令......
请考虑以下方法签名:
public fooMethod (Foo[] foos) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
和
public fooMethod (Foo... foos) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
说明:前者将一个Foo对象数组作为参数 - fooMethod(new Foo[]{..})而后者采用任意数量的Foo类型的参数,并将它们表示为方法中的Foo:s数组 - fooMethod(fooObject1, fooObject2, etc...).
如果两者都被定义,Java会抛出一个拟合,声称它们是重复的方法.我做了一些侦探工作,发现第一个声明确实需要一个显式的Foo对象数组,这是调用该方法的唯一方法.第二种方式实际上接受任意数量的Foo参数并且还接受Foo对象的数组.
所以,问题是,既然后一种方法似乎更灵活,有没有理由使用第一个例子,或者我错过了什么重要的东西?
是否可以为自己的类实现自动装箱?
为了说明我的例子,这是我可能想写的:
Foo foo = "lolcat";
Run Code Online (Sandbox Code Playgroud)
这就是Java会做的事情(根据我自己的定义,在某个地方,某种程度上),在幕后:
Foo foo = new Foo();
foo.setLolcat("lolcat");
Run Code Online (Sandbox Code Playgroud)
那么,这可能是某种方式,还是仅仅是JVM功能?
我碰巧阅读了SCJP认证的练习材料,我刚刚跳过了流程控制等的一章,他们给人的印象是" else if"本身就是一个关键词.我一直认为它只是一个普通的else,只包含一个if块,大括号省略.
那么,这是什么?
编辑:我想强调的是,这个问题更多地出现在"我的兴趣"类别而不是"严肃的商业"类别.
我是Liferay开发的新手,所以请随时指出我是否完全采用了错误的方法.
我正在尝试获取某个组内所有用户的DynamicQuery对象(我将使用此对象进一步过滤我将针对留言板执行的另一个查询).该User接口似乎有一个roleIds,我可能能够使用的财产,因为我已经知道roleId我很感兴趣,但我无法找到查询是否正确的方法roleIds 包含一定的价值.
关于我想做什么的任何想法?
PS:我想有确切的SQL查询,我可以直接问,但我宁愿使用Liferay的自己的连接池,而无需做一些奇怪的ext工程啄.
Git有一个备受吹捧的(?)章鱼合并功能,可以将多个头合并为一个.
但有没有相反的东西,从一个节点中同时分支?
我们假设我有一堆项目代码,我刚开始使用Git.该项目中的一些功能已完成,其他功能仍在进行中.我会希望是让搬进自己的那些未完成的功能,相应的和独立的分支,有主的"完整"地,没有未完成的代码.
现在,我当然可以通过一步完成所有这些操作:创建"未完成的功能#1"分支,并从主服务器中删除特定于该功能的文件.然后我将主人重新分支到"未完成的功能#2"并再次从主服务器中删除功能#2特定文件,但也从第一个分支中删除.因此,每次拆分工作量都会增加.
在这种情况下,有什么东西可以帮助我吗?
假设以下类存根:
public class Foo<T> {
private Class<T> type;
public Foo<T> () {}
}
Run Code Online (Sandbox Code Playgroud)
我可以将泛型类型存储在构造函数T的字段type中,而不将构造函数的签名更改为" public Foo<T> (Class<T> type)"吗?
如果有,怎么样?如果不是,为什么?
" type = T"似乎不起作用.
由于命名参数是那些由它们的显式名称标识的参数,而不是它们的排序,它们的堂兄名称是什么,没有名称,仅由订单识别的名称?
匿名参数?未命名的参数?他们有一个名字开头?
所以,正如标题所说,当GWT将Java编译成JavaScript时,结果是缩小的,还是它也被混淆了?
我有一个实现ArrayAccess,Iterator和Countable的对象.这产生了一个非常完美的阵列掩蔽.我可以使用offsets($object[foo])访问它,我可以将它放入foreach-loop和许多其他东西.
但我不能做的是把它交给本地阵列迭代器函数(next(),reset(),current(),key()),即使我已经实现了从迭代器所需要的方法.PHP似乎顽固地试图遍历其成员变量,并完全忽略迭代器方法.
是否有一个接口可以将对象挂钩到剩余的数组遍历函数,还是我坚持使用我拥有的东西?
更新: IteratorAggregate似乎也不是答案.虽然它在foreach-loops中使用,但基本数组迭代器函数不会调用方法.
java ×5
arrays ×2
git ×2
php ×2
autoboxing ×1
branch ×1
dynamicquery ×1
fork ×1
generics ×1
goto ×1
gwt ×1
javascript ×1
liferay ×1
liferay-6 ×1
methods ×1
open-source ×1
parameters ×1
spl ×1