在重构方法时,很容易在Java中引入二进制不可编码(使用以前版本的代码).
考虑更改方法以将其参数的类型扩展为父接口:
void doSomething(String x);
// change it to
void doSomething(CharSequence c);
Run Code Online (Sandbox Code Playgroud)
使用此方法的所有代码将继续编译而不进行更改,但它确实需要重新编译(因为旧的二进制文件将因MethodNotFoundError而失败).
如何将方法拉入父类.这需要重新编译吗?
// before
public class B extends A{
protected void x(){};
}
// after
public class A {
public void x(){};
}
public class B extends A{}
Run Code Online (Sandbox Code Playgroud)
该方法已从B移至父A.它还将可见性从受保护更改为公共(但这不是问题).
我是否需要在B中维护"二进制兼容性包装器",还是继续工作(自动调度到父类)?
// do I need this ?
public class B extends A{
// binary compatibility wrapper
public void x(){ super.x(); }
}
Run Code Online (Sandbox Code Playgroud) TL;博士:"我不知道如何计算一个矢量与另一个矢量之间的推力的平滑过渡."
我正在编写一个简单的游戏,敌人在开放空间(没有墙壁)追逐玩家.我正在独立计算敌人的x和y速度,如果他们将它们朝向玩家的方向加速它们,并且如果它们走错了路线就会迅速减速(例如EnemyVelocity.x> 0&player.x <enemy.x) ,然后是EnemyVelocity.x - 2.)
虽然游戏玩法试图躲避敌人是非常有趣的,但我希望让敌人使用适当的物理行为.我目前正在做的是让敌人根据他们和玩家之间的角度设置他们的推力(想象一艘宇宙飞船),让他们的推力加速到最大速度(计算EnemyVelocity三角形的c侧).一旦发生这种情况,我不确定推力调整的最佳方式.如果我没有留下最大速度,敌人加速很好,但很容易超过玩家,然后需要很长时间才能获得足够的动力回到玩家的方向.
我想要发生的是让敌人在前往玩家的路上不断调整他们的速度,无论他们身在何处(我不希望他们预测你将在哪里).然后,当他们错过了球员时,我想要相同的推力和加速度公式来重新调整他们的速度并将它们发送回玩家.
我认为这将涉及两个向量:一个是敌人目前正在旅行的地方,另一个是敌人想要旅行的地方(将他们直接带到玩家的向量).我不确定如何计算一个矢量与另一个矢量之间的推力的平滑过渡.
任何提示,公式或问题将不胜感激!谢谢Stack Overflow.
我有一个用Java编写的Web应用程序,它针对的是几个国家,所有这些国家都使用不同的语言(通常是几种语言 - 欧洲适合您).
我们有一堆包含.properties本地化字符串的文件,我们当前的程序是在进行重大更新之前将特定于语言的文件通过电子邮件发送给我们的合作伙伴进行更新.
但是,这个过程相当容易出错,因为有时人们会忘记翻译新的字符串,有时新的字符串不会被添加到每个语言文件中,因此很容易出现小错误.
有谁知道任何可以帮助我们清除这个混乱的现有软件?
至少,我正在考虑允许您加载主文件(例如,英语),本地化文件,然后突出显示添加到主文件或从主文件中删除的键的内容.
我刚收到工作机会成为富裕开发人员,但我以前从未听说过这个词.强大的HTML,CSS,Javascript,jQuery,XSL技能.
我认为自己精通所有这些领域,除了XSL,我以前从未听说过这个词.任何人都可以开导我吗?
由于Java中如何实现泛型(最终编译为对象和强制转换),使用它们有什么好处?
我还应该将它们用于编译时类型安全吗?我已经习惯了C#中泛型的显着速度提升,我很好奇,如果使用Java的人仍然经常使用泛型,尽管它们已经实现了吗?
我正在使用WixUIFeatureTree为用户提供他们想要安装的应用程序的哪些组件的选项...我的一个功能有两个可选功能,其中至少必须安装其中一个才能使程序正常工作.我不想强迫用户安装任何一个,但我不知道如何强迫他们选择至少一个.
这是我目前WXS的相关部分:
<Feature Id="Main" Title="Product Name" Level="1" Absent="disallow" Display="expand" AllowAdvertise="no"
Description="This is the application, and is a required component"
>
<ComponentRef Id="Baseline" />
<ComponentRef Id="Shortcuts" />
<Feature Id="Option1" Title="Plugin #1" Level="2" Absent="allow" AllowAdvertise="no">
<ComponentRef Id="Plugin1Component" />
</Feature>
<Feature Id="Option2" Title="Plugin #2" Level="3" Absent="allow" AllowAdvertise="no">
<ComponentRef Id="Plugin2Component" />
</Feature>
</Feature>
Run Code Online (Sandbox Code Playgroud)
我猜我需要在序列的正确位置插入一些自定义动作,保证选择一个或另一个进行安装,但不知道如何做到这一点,或者它是否正确.所有帮助赞赏!
我有一个包含大量日期的数据库.我想,在给定日期的情况下,获取数据库中的下一个日期和数据库中的上一个日期.
所以给了一个10/10/09,10/09/09和10/15/09的数据库,如果有人输入日期为10/13/09,它应该返回10/12/09作为上一个日期和10/15/09作为下一个日期.
我怎样才能做到这一点?谢谢!
我目前正在尝试使用一些服务器端方法(作为一个组)验证一些前端值,并遇到处理结果的问题.
这是启动它的按钮的XHTML:
<h:commandButton action="#{Bean.save()}"
value="Save"
id="save"
onclick="checkForConfirmation();" />
Run Code Online (Sandbox Code Playgroud)
和javascript,其中一部分是按钮调用,jsFunction调用的另一部分
function checkForConfirmation()
{
var name = document.getElementById("path:to:name").value;
var address = document.getElementById("path:to:address").value;
var city = document.getElementById("path:to:city").value;
var state = document.getElementById("path:to:state").value;
var zip = document.getElementById("path:to:zip").value;
jsFunc1(name, address, city, state, zip);
}
function showConfirmPrompt()
{
if(confirm('Confirmation before save'))
{
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
最后,jsFunction是有问题的一块:
<a4j:form>
<a4j:jsFunction name="jsFunc1" action="#{Bean.shouldBeConfirmed()}" data="#{Bean.booleanResult}" oncomplete="alert(data); if (data) {showConfirmPrompt();}">
<a4j:actionparam name="param1" assignTo="#{Bean.nameToBeValidated}"/>
<a4j:actionparam name="param2" assignTo="#{Bean.addressToBeValidated}"/>
<a4j:actionparam name="param3" assignTo="#{Bean.cityToBeValidated}"/>
<a4j:actionparam name="param4" assignTo="#{Bean.stateToBeValidated}"/>
<a4j:actionparam name="param5" assignTo="#{Bean.zipToBeValidated}"/>
</a4j:jsFunction>
</a4j:form>
Run Code Online (Sandbox Code Playgroud)
问题是,在此事件链的末尾,"oncomplete"属性中的警报(数据)显示数据未定义.我需要定义它以便知道是否显示警告对话.
我可以确认Bean.shouldBeConfirmed()方法确实在运行,并且使用正确的参数,并且确实返回了正确的值,甚至设置了Bean.booleanResult变量的值(这是一个普通的java …
我在哪里可以找到希伯来语停用词的列表?
编辑:编辑我的答案以添加更多,如果有更多...
java ×3
ajax4jsf ×1
angle ×1
c# ×1
email ×1
frontend ×1
generics ×1
hebrew ×1
installer ×1
javascript ×1
jquery ×1
localization ×1
math ×1
mysql ×1
physics ×1
properties ×1
refactoring ×1
sql ×1
stop-words ×1
vector ×1
wix ×1
wix3 ×1