小编Joh*_*ica的帖子

如何使用Joda-Time在Java中设置Time属性

我想在Joda-Time设置小时,分钟和秒.但是,当我设定它不改变财产.

这是我的代码:

import org.joda.time.DateTime;
public class JodaAkbar 
{
 public static void main(String args[])
 { 
    DateTime dt = new DateTime();
    System.out.println("Before:"+dt);
    dt.hourOfDay().setCopy(5);
    dt.minuteOfDay().setCopy(20);
    dt.secondOfDay().setCopy(0);
    System.out.println("After:"+dt);
 }
}
Run Code Online (Sandbox Code Playgroud)

这是输出.

Before:2015-04-01T11:01:38.277+11:00
After:2015-04-01T11:01:38.277+11:00
Run Code Online (Sandbox Code Playgroud)

我得到了相同的输出.这里发生了什么错?

编辑:

基本上,我想做类似的事情,如下面的代码所示.由于以下代码在24小时格式下无法正常工作,我切换到了Joda-Time.

 Calendar cal = Calendar.getInstance();
 cal.set(Calendar.HOUR, 13);
 cal.set(Calendar.MINUTE, 25);
 cal.set(Calendar.SECOND, 0);
Run Code Online (Sandbox Code Playgroud)

java datetime jodatime

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

使用linux如何将文件的内容作为参数传递给可执行文件?

假设我想./program用字符串参数运行

而不是./program string每次都输入 ,我怎么能在./program <file>哪里做<file>一个包含字符串的文件?

谢谢

linux

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

不变违规:您不应在<Router>之外使用<Switch>

我有一个问题,我不知道如何解决,我在运行npm测试时遇到此错误Invariant Violation: You should not use <Switch> outside a <Router>.问题是什么,我该如何解决?我运行的测试是带有反应的标准app.test.js

class App extends Component {
  render() {
    return (
      <div className = 'app'>
        <nav>
          <ul>
            <li><Link exact activeClassName="current" to='/'>Home</Link></li>
            <li><Link exact activeClassName="current" to='/TicTacToe'>TicTacToe</Link></li>
            <li><Link exact activeClassName="current" to='/NumGame'>Quick Maths</Link></li>
            <li><Link exact activeClassName="current" to='/HighScore'>Highscore</Link></li>
            <li><Link exact activeClassName="current" to='/Profile'>Profile</Link></li>
            <li><Link exact activeClassName="current" to='/Login'>Sign out</Link></li>
          </ul>
        </nav>
        <Switch>
          <Route exact path='/' component={Home}></Route>
          <Route path='/TicTacToe' component={TicTacToe}></Route>
          <Route path='/NumGame' component={NumberGame}></Route>
          <Route path='/HighScore' component={HighScore}></Route>
          <Route path='/Profile' component={Profile}></Route>
          <Route path='/Login' component={SignOut1}></Route>
        </Switch>
      </div>
    );
  }
};
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

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

替代Solaris上的`sed -i`

在Linux sed -i上将修改输入文件.但它在Solaris上不起作用.

sed -i '$ s/OLD/NEW/g' test        
sed: illegal option -- i
Run Code Online (Sandbox Code Playgroud)

我可以sed -i在Solaris上使用什么代替?

unix shell solaris sed

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

引用非最终变量:为什么这段代码会编译?

首先,如果这是一个重复的问题,我道歉.我找到了许多类似的,但没有一个直接解决我的问题.

为准备即将到来的考试,我正在做一篇过去的论文.它有一个提供代码段的问题.我们必须声明它是否编译,如果不编译,则写入发生第一个编译器错误的行并解释它.这是片段:

public static void main(String[] args) {
    JFrame f = new JFrame("hi");
    JTextField jtf = new JTextField(50);

    jtf.addMouseMotionListener(new MouseMotionAdapter() {
        public void mouseMoved(MouseEvent evt) {
            jtf.setText(evt.getLocationOnScreen().toString());
        }
    });

    f.add(jtf);
    f.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)

我期待它不要编译,因为jtf不是final.我通过在Eclipse中输入上面的代码测试了我的理论,它标记了预期的错误,但编译并运行得很好.只有在鼠标停留之后JTextField我才得到预期的错误:

java.lang.Error:未解决的编译问题:无法引用封闭范围中定义的非最终局部变量jtf

我做了一些搜索,发现Eclipse使用自己的Java编译器版本.所以我在Eclipse之外重新创建了文件,并通过命令行编译/运行它.它编译时没有错误或警告,当鼠标悬停在文本字段上时,显示所需的内容java.awt.Point[x=...,y=...].

我对匿名内部类的理解是他们可以访问:

  • 封闭类的字段
  • 封闭类的方法
  • 封闭范围的局部变量,只要它们是 final

那我错过了什么?根据我的知识,这段代码不应该工作.

java inner-classes java-8

27
推荐指数
2
解决办法
1982
查看次数

lambda函数在bash中

有没有办法在bash中实现/使用lambda函数?我想的是:

$ someCommand | xargs -L1 (lambda function)
Run Code Online (Sandbox Code Playgroud)

bash lambda

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

有没有办法在咖啡脚本中包含文件?

我想知道是否有办法在咖啡脚本中包含文件.像#include在C或requirePHP中的东西......

javascript include coffeescript

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

如何映射java.util.logging和SLF4J logger的级别?

如何将java.util.logging中的日志记录级别映射到SLF4J?

SLF4J

  • 跟踪
  • 调试
  • 信息
  • 警告
  • 错误
  • 致命

java.util.logging中

  • 最好的
  • 精细
  • 配置
  • 信息
  • 警告
  • 严重

java logging slf4j java.util.logging

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

无法通过子类实例从自己的类访问私有变量

class A {
    private int foo;
    void bar(B b) { b.foo = 42; }
}

class B extends A { }
Run Code Online (Sandbox Code Playgroud)

这无法编译错误:

A.java:3: error: foo has private access in A
    void bar(B b) { b.foo = 42; }
                     ^
1 error
Run Code Online (Sandbox Code Playgroud)

将强制转换添加到基类使其工作.

void bar(B b) { ((A) b).foo = 42; }
Run Code Online (Sandbox Code Playgroud)

有人能指出我为什么第一个片段是非法的解释?它被禁止的原因是什么?以下是JLS所说的内容:

否则,声明成员或构造函数private,当且仅当它发生在包含成员或构造函数声明的顶级类(第7.6节)的主体内时才允许访问.

我可以说,我的代码符合这一措辞.那么这是Java编译器的错误,还是我对JLS的解释不正确?

(注意:我不是在寻找变通方法,比如制作变量protected.我知道如何解决这个问题.)

java private

24
推荐指数
2
解决办法
2957
查看次数

tar EPERM:不允许操作,futime

我有一个node:alpineDocker 镜像。当我以 root 用户身份运行图像时,我没有问题,但是当我使用另一个用户并尝试这样做时,npm install我从包提取中收到了很多错误:

npm WARN tar EPERM: operation not permitted, futime
Run Code Online (Sandbox Code Playgroud)

在收到 5000 条警告消息后,我在 npm 安装日志中看到了这一点:

npm timing action:extract Completed in 276816ms
npm timing action:finalize Completed in 172ms
Run Code Online (Sandbox Code Playgroud)

没有更多,npm 安装过程完全挂起。

任何人都知道这个错误并知道如何避免它?

node.js docker alpine-linux

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