小编caa*_*os0的帖子

"否定"一个实例的最佳方式

我在想是否存在更好/更好的方法来否定instanceofJava中的内容.实际上,我正在做的事情如下:

if(!(str instanceof String)) { /* do Something */ }
Run Code Online (Sandbox Code Playgroud)

但我认为应该存在一个"漂亮"的语法.

有谁知道它是否存在,以及语法是什么样的?


编辑: 美丽,我可能会这样说:

if(str !instanceof String) { /* do Something */ } // compilation fails
Run Code Online (Sandbox Code Playgroud)

java syntax

381
推荐指数
6
解决办法
14万
查看次数

在"引用"迁移中指定列名称

我想migration在Rails中创建一个引用另一个表.通常,我会这样做:

add_column :post, :user, :references
Run Code Online (Sandbox Code Playgroud)

这将创建一个名为列user_idposts表中.但是,如果,而不是user_id,我想要的东西author_id呢?我怎样才能做到这一点?

activerecord ruby-on-rails rails-migrations ruby-on-rails-3

113
推荐指数
5
解决办法
6万
查看次数

休眠:刷新,逐出,复制和刷新

我希望我知道这个列表中的每个项目到底是什么,它是如何工作的,后果是什么,以及何时是正确的使用时间.

  1. 刷新
  2. 赶出
  3. 复制
  4. 红晕

我甚至不知道每个人做了什么,但我不是很确定,所以我要求你的帮助,因为我真的很想理解它.

我知道这是一个非常通用的问题,但我认为了解这一切真的很有用.

谢谢.

java hibernate

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

SVN忽略像.gitignore

Git中,如果我有一个包含大量项目的项目,让我们假设,很多Java项目,我可以.gitignore在根目录中创建一个文件,它将在整个存储库中"受到尊重".

如何为SVN项目执行此操作?

例如,如何进行"svn ignore"设置(通过cmd行),.gitignore如下所示?

*.class
*.jar
*.war
*.ear
target/
.classpath
.settings/
.project
.metadata
bin/
Run Code Online (Sandbox Code Playgroud)

问题中最重要的部分:如何使其工作到根目录中的新文件夹?例:

我跑svn propset svn:ignore "*.class" . -R了我的根并承诺.好:

root
- folder1/
-- *.class (ignored)
-- other files (ok)
- folder2/
-- *.class (ignored)
-- other files (ok)
Run Code Online (Sandbox Code Playgroud)

现在,我创建文件夹3.以前的svn:ignore设置将不适用,对吧?有没有办法让它如此?

svn svnignore

41
推荐指数
1
解决办法
6万
查看次数

堆与堆叠对比彼尔姆空间

  • Java内存空间(Perm Space,Space Stack,Heap Space)之间有什么区别?
  • JVM何时使用其中一个?
  • 如果我使用Scala/Groovy /等,是否存在差异?

java memory heap jvm

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

为f:convertDateTime设置默认时区

我使用JSF1.2,我的时区有点问题.

日历尊重我的时区并在数据库中保存正确的时间.当我使用ah显示它时:输出文本与af:convertDateTime它显示错误的日期(我认为使用默认时区).

我可以这样做:

<h:outputText value="#{atividade.atividade.dataCriacao.time}">
  <f:convertDateTime pattern="#{msg.formatoDataCalendario2}" timeZone="America/Sao_Paulo" />
</h:outputText>
Run Code Online (Sandbox Code Playgroud)

formatoDataCalendario2 = dd/MM/yyyy,HH:mm在messages.properties中.

我也可以将时区放在消息中,但我相信它有一些我可以使用的配置.

jsf timezone

36
推荐指数
1
解决办法
4万
查看次数

git每次突然开始要求SSH密钥密码

所以,我使用git和github与MFA,所以,为了避免烦人的密码询问,一年多以来我使用的是git@github.com:user/repo.gitURL样式.

几天前,我跑了一个brew update,现在,每次尝试与github服务器同步时,git都会问我关键密码.

到目前为止我做了什么:

  • 检查了我的配置,对我来说似乎没问题,但在这里(相关部分):

    [user]
       name = Carlos Alexandro Becker
       email = caarlos0@gmail.com
       helper = osxkeychain
    
    Run Code Online (Sandbox Code Playgroud)
  • 试图更新git和osxkeychain,当前版本是:

    git 2.4.1
    OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
    
    Run Code Online (Sandbox Code Playgroud)
  • 为github.com清理osxkeychain

  • 检查ssh-agent是否正在运行,重新添加我的身份

我看到的一个奇怪的事情就是:

$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa.pub'
Enter passphrase for /Users/carlos/.ssh/id_rsa.pub:
Run Code Online (Sandbox Code Playgroud)

所以,我的猜测是ssh-agent不能正常工作,但我不知道为什么以及如何解决它.

git ssh github

19
推荐指数
1
解决办法
5220
查看次数

通过JGit添加远程

我玩JGit,我可以成功地从某个存储库(git remote rm origin)中删除一个遥控器,我该怎么做git remote add origin http://github.com/user/repo

要删除我执行以下操作:

StoredConfig config = git.getRepository().getConfig();
config.unsetSection("remote", "origin");
config.save();
Run Code Online (Sandbox Code Playgroud)

但是没有像这样的选择#setSection(String, String).

提前致谢.

java git jgit

18
推荐指数
1
解决办法
5789
查看次数

将Graphics2D转换为Image或BufferedImage

我这里有点问题.

我有一个applet,用户可以在其中"绘制".为此,我使用java.awt.Graphics2D.但是,如何将用户绘制图像保存为JPEG图像,或者至少将其转换为BufferedImage或其他什么?我不知道该怎么做.

谢谢.

java applet bufferedimage graphics2d

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

性能:Java的String.format

可能重复:
如果性能很重要,我应该使用Java的String.format()吗?

我想知道String.format在Java应用程序中使用是否很好而不是StringBuilder......所以,我只是编写一个简单的测试,如下所示:

public static void main(String[] args) {
        int i = 0;
        Long start = System.currentTimeMillis();
        while (i < 10000) {
            String s = String.format("test %d", i);
            i++;
        }
        System.out.println(System.currentTimeMillis() - start);
        i = 0;
        start = System.currentTimeMillis();
        while (i < 10000) {
            String s = new StringBuilder().append("test ").append(i).toString();
            i++;
        }
        System.out.println(System.currentTimeMillis() - start);
    }
Run Code Online (Sandbox Code Playgroud)

结果在哪里:

238
15
Run Code Online (Sandbox Code Playgroud)

所以,如果我的测试有效,StringBuilder则速度快于String.format.好.现在,我开始思考如何String.format运作.这是一个简单的字符串连接"test " + i吗?

StringBuilder连接和String.format?之间的区别是什么?有没有像简单String.format …

java performance string-concatenation

16
推荐指数
1
解决办法
1万
查看次数