小编zw3*_*324的帖子

Java中的++和 - 运算符的优先级

我从Java的官方教程中读到前缀和后缀++ - 具有不同的优先级:

后缀:expr ++ expr--

一元:++ expr --expr + expr -expr~!

运营商

根据教程,不应该这样

d = 1; System.out.println(d++ + ++d);

打印6(d++使d 2,++d使它3)而不是4?

我知道++d事先评估的解释,但如果d++有更高的优先权++d,为什么不d++首先评估?更重要的是,在什么情况下应该d++表明它具有更高的优先级?

编辑:

我尝试了以下方法:

d = 1; System.out.println(++d * d++);

它返回4.它似乎应该是2*2,而不是1*3.

java increment prefix operator-precedence postfix-operator

9
推荐指数
3
解决办法
3629
查看次数

如何以编程方式设置Android设备日期/时间

背景

我正在使用三星Galaxy标签(7")的Wi-Fi版本进行一个项目.在某些设备上,我们看到设备上的日期/时间被重置(不知道为什么)到某个日期在过去(如2000年1月1日).

问题(S)

如何以编程方式重置设备日期/时间?如果可能的话,我更愿意使用一些adb shell命令(我的shell脚本生锈).如果没有可以实现此目的的shell命令,有没有办法通过编写和安装应用程序来实现这一点(似乎是安全违规)?

android adb galaxy

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

Java:构造函数中的异常:有问题还是没有问题?

我最近在考虑从Java抛出构造函数是否好.目前这是我收集的内容:

  1. 构造函数可以在Java中抛出异常吗?

    在这里,StackOverflow先生(又名Jon Skeet)似乎没有任何反对意见,但他确实暗示要让子类抛出异常.当子类抛出异常时会发生什么(什么都不好?)

  2. http://futuretask.blogspot.com/2006/05/java-tip-10-constructor-exceptions-are.html

    这篇博客文章"构造函数异常是邪恶的"告诉我一种方法来表明构造函数异常可能是危险的.然而,这个例子似乎真的很深奥.这里有真正的危险吗?

  3. 我想如果使用静态工厂方法(Effective Java 2nd ed.,Item 1)而不是公共构造函数,我们可以安全地从构造函数中删除异常到静态工厂方法.这是避免构造函数异常的有效方法吗?这在任何地方都有用或有用吗?

任何输入都有帮助和赞赏.谢谢!

java constructor exception

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

如何让JavaScript等到某个事件发生?

我正在编写一个具有以下结构的网页:

  1. 一节(表A)取决于另一节(表B);
  2. 另一部分(表B)具有需要在每次更新时重新计算的元素.计算由外部工具处理,并在完成时导致事件.

为了保证正确性,只有在另一个表完全更新(即完成计算)之后才需要更新表.但是,我不知道如何有效地实现这一点,我wait在JavaScript中找不到任何工具.

目前,我使用以下方法:

  1. 声明一个全局变量updated并制作它false;
  2. 第一台接收到的输入之后,我做出一个空while循环,直到updatedtrue;
  3. 添加一个监听器,一旦完成计算并收到事件,设置updatedtrue.

这对我来说似乎不直观,但我想不出任何其他方式.有没有什么好方法可以做到这一点?

感谢您的任何投入!

javascript events web-applications wait

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

Ext-JS:如何禁用网格中单个单元格的单元格编辑?

我现在正在使用Ext-JS 4.0.2构建一个Web应用程序,我正在使用一个可编辑的网格来控制在同一页面上显示的数据.

为了使网格可编辑,我遵循API文档并使用以下内容:

selType: 'cellmodel',
plugins: [
    Ext.create('Ext.grid.plugin.CellEditing', {
        clicksToEdit: 2
    })
]
Run Code Online (Sandbox Code Playgroud)

但是,对于此网格,有几个单元不应该更改.

我可以简单地让事件处理程序在网格中更改后将数据更改回正确的状态,但这似乎是hacky,难以维护和不可读.有没有更好的方法来做到这一点?我读了API但找不到任何有用的属性.

UPDATE

至于这个特定的应用程序,只需禁用第一行即可.但我也有兴趣选择几个网格并使它们不可编辑(想象一个带网格的数独游戏).

javascript grid extjs

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

Jetty Startup失败 - 正在使用的地址

我最近在亚马逊Ec2上试过码头; 当我试着开始; 我收到'地址已被使用'错误.

我确信此系统上没有其他服务器正在运行.

我甚至尝试将端口更改为8080到8090以外的其他端口

还是一样的.

这是堆栈跟踪.任何想法如何解决?

2011-08-16 17:22:14.722:WARN::FAILED SelectChannelConnector@10.122.219.58:8081 FAILED:       
java.net.BindException: Address already in use

2011-08-16 17:22:14.722:WARN::FAILED org.eclipse.jetty.server.Server@7dc05ffd:     
    java.net.BindException: Address already in use    
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:469)
    at org.eclipse.jetty.start.Main.start(Main.java:612)
    at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:265)
    at org.eclipse.jetty.start.Main.main(Main.java:79)

Caused by: java.net.BindException: Address already in use
Run Code Online (Sandbox Code Playgroud)

这是netstat的输出

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      15507/nginx         
tcp        0      0 0.0.0.0:4369                0.0.0.0:*                   LISTEN      24836/epmd          
tcp        0      0 0.0.0.0:28017               0.0.0.0:*                   LISTEN …
Run Code Online (Sandbox Code Playgroud)

jetty amazon-ec2

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

C++中递增和递减opreator的优先级

我在我的gcc上尝试过这个:

int a=1;
cout<<(--a)--;
Run Code Online (Sandbox Code Playgroud)

输出为0; 但改成它

cout<<--(a--);
Run Code Online (Sandbox Code Playgroud)

导致错误(减值操作数需要左值).有人可以告诉我这件事吗?

谢谢!

c++ increment decrement

7
推荐指数
2
解决办法
981
查看次数

如何在Java中返回线程安全/不可变集合?

在我编写的项目中,我需要从函数返回一个线程安全且不可变的视图.但是,我不确定这一点.由于synchronizedListunmodifiableList刚刚返回视图列表中,我不知道

Collections.synchronizedList(Collections.unmodifiableList(this.data));

会做的伎俩.

任何人都可以告诉我这是否正确,如果不是,是否有任何情况可能会失败?

感谢您的任何投入!

java list unmodifiable synchronized thread-safety

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

Java:空循环使用多长时间?

我试图在Java中测试自动装箱和拆箱的速度,但是当我尝试将它与原语上的空循环进行比较时,我注意到了一个奇怪的事情.这个片段:

for (int j = 0; j < 10; j++) {
    long t = System.currentTimeMillis();
    for (int i = 0; i < 10000000; i++)
        ;
    t = System.currentTimeMillis() - t;
    System.out.print(t + " ");
}
Run Code Online (Sandbox Code Playgroud)

每次我运行它,它返回相同的结果:

6 7 0 0 0 0 0 0 0 0

为什么前两个循环总是需要一些时间,其余的似乎被系统跳过?

在这篇文章的答案中,据说Just-In-Time编译将能够优化这一点.但如果是这样,为什么前两个循环还需要一些时间?

java performance primitive jit loops

7
推荐指数
2
解决办法
2538
查看次数

Haskell:实现"randoms"(又名,Ambiguous类型变量)

我正在阅读LYAH,在第9章中,我发现了一个奇怪的问题.作者提供了实现"randoms"功能的示例:

randoms' :: (RandomGen g, Random a) => g -> [a]
randoms' gen = let (value, newGen) = random gen in value:randoms' newGen
Run Code Online (Sandbox Code Playgroud)

好吧,这个编译得很好.但是,如果我将第二行更改为:

randoms' gen = (fst (random gen)) : (randoms' (snd (random gen)))
Run Code Online (Sandbox Code Playgroud)

此文件报告加载时出错:

IOlesson.hs:4:52:
    Ambiguous type variable `a' in the constraint:
      `Random a' arising from a use of `random' at IOlesson.hs:4:52-61
    Probable fix: add a type signature that fixes these type variable(s)
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)

如果我将此行更改为:

randoms' gen = (fst (random gen)) : (randoms' gen)
Run Code Online (Sandbox Code Playgroud)

然后这将做得很好,并且如预期的那样,这将返回所有相同元素的列表. …

haskell types ghci type-variables

7
推荐指数
1
解决办法
352
查看次数