小编Rob*_*vey的帖子

为什么Java 8接口方法中不允许"final"?

Java 8最有用的功能之一是default接口上的新方法.基本上有两个原因(可能还有其他原因)为什么会被引入:

从API设计者的角度来看,我希望能够在接口方法上使用其他修饰符,例如final.在添加便捷方法时,这将非常有用,可防止在实现类时出现"意外"覆盖:

interface Sender {

    // Convenience method to send an empty message
    default final void send() {
        send(null);
    }

    // Implementations should only implement this method
    void send(String message);
}
Run Code Online (Sandbox Code Playgroud)

如果Sender是一个类,上面已经是常见的做法:

abstract class Sender {

    // Convenience method to send an empty message
    final void send() {
        send(null);
    }

    // Implementations should only implement this method
    abstract void send(String message);
}
Run Code Online (Sandbox Code Playgroud)

现在,defaultfinal有明显矛盾的关键字,但默认关键字本身不会一直严格要求 …

java language-design java-8 jsr335 default-method

324
推荐指数
3
解决办法
3万
查看次数

如何在ASP.NET MVC中的HTML-5 data-*属性中使用破折号

我试图在我的ASP.NET MVC 1项目中使用HTML5数据属性.(我是C#和ASP.NET MVC的新手.)

 <%= Html.ActionLink("« Previous", "Search",
     new { keyword = Model.Keyword, page = Model.currPage - 1},
     new { @class = "prev", data-details = "Some Details"   })%>
Run Code Online (Sandbox Code Playgroud)

上面的htmlAttributes中的"data-details"给出以下错误:

 CS0746: Invalid anonymous type member declarator. Anonymous type members 
  must be declared with a member assignment, simple name or member access.
Run Code Online (Sandbox Code Playgroud)

它在我使用data_details时有效,但我想它需要按照规范以"data-"开头.

我的问题:

  • 有没有办法让这个工作,并使用HTML5数据属性与Html.ActionLink或类似的Html助手?
  • 是否有其他替代机制将自定义数据附加到元素?此数据稍后将由JS处理.

asp.net-mvc html5 custom-data-attribute

318
推荐指数
4
解决办法
14万
查看次数

如何删除.gitignore中列出但仍在存储库中的文件?

我的存储库中有一些文件应该被忽略,我将它们添加到.gitignore中,当然,它们不会从我的存储库中删除.

所以我的问题是,是否有一个使用filter-branch的魔术命令或脚本可以重写我的历史记录并轻松删除所有这些文件?或者只是一个命令,它将创建一个将删除它们的提交?

git ignore gitignore

275
推荐指数
5
解决办法
13万
查看次数

指针与参考

在给函数提供原始变量时,最好的做法是:

unsigned long x = 4;

void func1(unsigned long& val) {
     val = 5;            
}
func1(x);
Run Code Online (Sandbox Code Playgroud)

要么:

void func2(unsigned long* val) {
     *val = 5;
}
func2(&x);
Run Code Online (Sandbox Code Playgroud)

IOW:有没有理由选择一个而不是另一个?

c++ variables pointers reference

249
推荐指数
7
解决办法
11万
查看次数

你怎么告诉别人他们写错了代码?

我一直在与一小群人一起开展编码项目,以获得乐趣.这是一个有组织,相当有凝聚力的团体.我与之合作的人都拥有与编程相关的各种技能,但其中一些使用较旧的或完全错误的方法,例如过多的全局变量,较差的命名约定等.虽然事情有效,但执行情况很差.礼貌地询问或介绍他们使用更好的方法,而不是质疑(或侮辱)他们的经验和/或教育的方法是什么?

coding-style

214
推荐指数
14
解决办法
2万
查看次数

href表达式<a href="javascript:;"> </a>有什么作用?

我已经看到网页中不时使用以下href.但是,我不明白这是尝试做什么或技术.有人可以详细说明吗?

<a href="javascript:;"></a>
Run Code Online (Sandbox Code Playgroud)

javascript

208
推荐指数
8
解决办法
31万
查看次数

如何加速gwt编译器?

我们开始在项目中更多地使用GWT,GWT编译器的性能变得越来越烦人.

我们将开始改变我们的工作实践来缓解这个问题,包括更加强调托管模式浏览器,这推迟了以后运行GWT编译器的需要,但这带来了自己的风险,特别是直到比我们想要的要晚得多,才能解决真正的浏览器问题.

理想情况下,我们想让GWT编译器本身更快 - 编译一个相当小的应用程序需要一分钟时间.但是,我们正在使用编译,如果一个相当天真的方式,所以我希望我们可以做一些快速和简单的收益.

我们目前正在从ant Ant目标调用com.google.gwt.dev.Compiler作为java应用程序,最大堆容量为256m,堆栈空间很大.Ant使用fork = true和最新的Java 6 JRE来启动编译器,以尝试利用Java6的改进性能.我们将主控制器类与应用程序类路径一起传递给编译器,然后关闭它.

我们还能做些什么来获得额外的速度?我们能否提供更多信息,以便花更少的时间来发现该怎么做?

我知道我们可以告诉它只为一个浏览器编译,但我们需要进行多浏览器测试,所以这不太实用.

此时欢迎所有建议.

java performance gwt

200
推荐指数
8
解决办法
10万
查看次数

比较两个List <>的最快方法

比较两个大型(> 50.000个项目)的最快(和最少资源密集型)是什么,因此有两个列表,如下所示:

  1. 显示在第一个列表但不显示在第二个列表中的项目
  2. 显示在第二个列表中但不在第一个列表中的项目

目前我正在使用List或IReadOnlyCollection并在linq查询中解决此问题:

var list1 = list.Where(i => !list2.Contains(i)).ToList();
var list2 = list2.Where(i => !list.Contains(i)).ToList();
Run Code Online (Sandbox Code Playgroud)

但这并不像我想的那样好.因为我需要处理很多列表,所以想要更快,更少资源吗?

c# linq list

195
推荐指数
7
解决办法
28万
查看次数

在SourceTree Windows中编辑提交消息(已推送到远程)

如何在不触及命令行的情况下在SourceTree中编辑不正确的提交消息?

额外细节:

  • 这不是最新的提交.
  • 一切都已被推到了Bitbucket.
  • 这是一个私人存储库,我是唯一的合作者.
  • 我不介意丢失任何先前的提交,因为我可以随时重新提交它们.
  • 但是我不想失去任何代码修改.

结果:

  • 根据您的评论和回复,目前似乎不可能,我将创建一个新的存储库并从头开始.感谢你的帮助!

git atlassian-sourcetree

189
推荐指数
4
解决办法
14万
查看次数

您经常关注的C++博客?

您关注的所有C++博客是什么?

请为一个帖子添加一个网址.

c++ blogs

183
推荐指数
21
解决办法
9万
查看次数