我在C#中的测试代码:
namespace DSnA
{
public abstract class Test : IComparable
{
}
}
Run Code Online (Sandbox Code Playgroud)
导致以下编译器错误:
error CS0535: 'DSnA.Test' does not implement interface member
'System.IComparable.CompareTo(object)'
Run Code Online (Sandbox Code Playgroud)
由于该类Test
是一个抽象类,为什么编译器要求它实现接口?这个要求不应该仅仅是具体课程的必修课吗?
我通过一些pygame教程学习Python .
在那里我发现了关键字self的广泛使用,并且来自主要的Java背景,我发现我一直忘记键入self.例如,而不是self.rect.centerx
我要输入rect.centerx
,因为对我来说,rect已经是类的成员变量.
对于这种情况,我可以想到的Java并行是必须使用此前缀对成员变量的所有引用作为前缀.
我是否坚持使用self为所有成员变量添加前缀,或者有没有办法声明它们可以让我避免这样做?
即使我建议的不是pythonic,我仍然想知道它是否可能.
我已经看过这些相关的SO问题,但他们并没有完全回答我的想法:
哪种编程语言,你会推荐学习有关数据结构和算法吗?
考虑以下因素:
我问,因为有些书是编程语言无关的(从数学角度编写,并使用伪代码).如果我从其中一个中学习,我想选择一种编程语言来编写和运行算法.
然后,还有其他书籍介绍了DS&A概念和用特定编程语言编写的示例 - 我也想编写这些算法 - 因此,在某种程度上,语言也会选择这本书.
无论哪种方式,我必须选择一种语言,我宁愿坚持一个.撇开个人语言偏好,哪一个最适合此目的?
我如何获得java.awt.Image
JFrame?
我想获得一个屏幕截图JFrame
(以后在我的应用程序中使用).目前,这是通过使用机器人拍摄指定所JFrame
涉及的坐标和尺寸的屏幕截图来完成的.
但是,我相信有一种更好的方法:默认情况下,Swing组件在将自己绘制到屏幕上之前将它们自身渲染为双缓冲区.
有没有办法从组件中获取这些图像?
给定以下代码,使用两种替代方法来迭代它,
这两种方法之间是否有任何性能差异?
Map<String, Integer> map = new HashMap<String, Integer>();
//populate map
//alt. #1
for (String key : map.keySet())
{
Integer value = map.get(key);
//use key and value
}
//alt. #2
for (Map.Entry<String, Integer> entry : map.entrySet())
{
String key = entry.getKey();
Integer value = entry.getValue();
//use key and value
}
Run Code Online (Sandbox Code Playgroud)
我倾向于认为这alt. #2
是迭代整个过程的更有效方法map
(但我可能是错的)
更新 20140702:
(但我将其他一个答案标记为接受而不是我自己的答案,因为它让我在那里一半,并奖励努力)
似乎无法通过链接设置HTTP请求标头<a href="...">
,并且只能使用XMLHttpRequest
.
但是,链接到的URL是应该下载的文件(浏览器不应该导航到它的URL),我不确定这是否可以使用AJAX完成.
此外,返回的文件是二进制文件,而AJAX不适用于此.
如何使用添加了自定义标头的HTTP请求触发文件下载?
编辑:修复损坏的链接
你如何四舍五入/圆下来momentjs时刻最接近的分钟数?
我检查了文档,但似乎没有这方法.
请注意,我不希望将字符串四舍五入到最接近的分钟,我想要moment
返回(或修改到位,也可以).我不想转换为字符串,转换回来也是如此.
谢谢.
根据要求,这里有一些代码:
var now = new moment(new Date());
if (now.seconds() > 0) {
now.add('minutes', -1);
}
now.seconds(0);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经设法在这里手动完成了这一刻,但它似乎相当hacky.只是在一种更优雅的方式实现这一目标.
可能重复:
JLabel中的多行文本
我想做这个:
JLabel myLabel = new JLabel();
myLabel.setText("This is\na multi-line string");
Run Code Online (Sandbox Code Playgroud)
目前,这会生成一个显示的标签
This isa multi-line string
Run Code Online (Sandbox Code Playgroud)
我希望它能做到这一点:
This is
a multi-line string
Run Code Online (Sandbox Code Playgroud)
有什么建议?
谢谢
编辑:实施解决方案
在方法体中:
myLabel.setText(convertToMultiline("This is\na multi-line string"));
Run Code Online (Sandbox Code Playgroud)
辅助方法:
public static String convertToMultiline(String orig)
{
return "<html>" + orig.replaceAll("\n", "<br>");
}
Run Code Online (Sandbox Code Playgroud) 当actions
在EmberJS控制器中包含时,如何从另一个动作调用一个动作?
使用现已弃用的方法定义操作的原始代码:
//app.js
App.IndexController = Ember.ArrayController.extend({
// properties
/* ... */
// actions
actionFoo: function() {
/* ... */
this.actionBar();
},
actionBar: function() {
/* ... */
}
});
//app.html
<div class="foo" {{action actionFoo this}}>
<div class="bar" {{action actionBar this}}>
Run Code Online (Sandbox Code Playgroud)
但是,使用EmberJS 1.0.0,我们会收到弃用警告,说必须将操作放在控制器内的操作对象中,而不是直接放在控制器中,如上所述.
根据建议更新代码:
//app.js
App.IndexController = Ember.ArrayController.extend({
// properties
/* ... */
// actions
actions: {
actionFoo: function() {
/* ... */
this.actionBar(); //this.actionBar is undefined
// this.actions.actionBar(); //this.actions is undefined
},
actionBar: function() {
/* ... */ …
Run Code Online (Sandbox Code Playgroud) ArrayList
的列表迭代器确实实现了remove方法,但是,我得到以下抛出的异常:
UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:144)
Run Code Online (Sandbox Code Playgroud)
通过此代码:
protected void removeZeroLengthStringsFrom(List<String> stringList)
{
ListIterator<String> iter = stringList.listIterator();
String s;
while (iter.hasNext())
{
s = iter.next();
if (s.length() == 0)
{
iter.remove();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?我已经证实List<String>
我传入的确是ArrayList<String>
.
谢谢!
java ×4
javascript ×3
swing ×2
ajax ×1
algorithm ×1
arraylist ×1
c# ×1
download ×1
ember.js ×1
hashmap ×1
http-headers ×1
image ×1
interface ×1
iteration ×1
iterator ×1
jframe ×1
jlabel ×1
list ×1
map ×1
momentjs ×1
multiline ×1
performance ×1
python ×1
screenshot ×1
self ×1
string ×1
syntax ×1
time ×1