我似乎总是需要在params对象中转换值以执行a .equals
但它从来没有感觉到正确.如果我使用这些parseXXX
方法,我还必须在值为空时保护自己.看起来有更好的方法来处理像Groovy这样的动态语言.有没有人发现一种不同的方式,感觉更像Groovy而不像Java?我可以构建一个实用程序类来清理它,但我正在寻找一些内置的功能,所以请不要建议额外的库.
例:
def intValue = (params.intValue)? Integer.parseInt(params.intValue) :null
Things.each{ thing ->
if (thing.intValue.equals(intValue)){
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud) 在这个 spring 文档 http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/transaction.html 中。它谈到了物理和逻辑事务。我写了一个非常简单的程序来理解
TransactionObject.java
class TransactionObject {
private static Connection conn;
TransactionObject() {
try {
conn = DriverManager.getConnection("DB_URL", "USER", "PASS");
} catch (SQLException e) {}
}
void rollBack() {
try {
conn.rollback();
} catch (SQLException e) { }
}
void Commit() {
try {
conn.commit();
} catch (SQLException e) { }
}
}
Run Code Online (Sandbox Code Playgroud)
ClassMethodUnderTransactionObject.java
public class ClassMethodUnderTransactionObject {
// start fresh TransactionObject
TransactionObject logical= new TransactionObject();
M2(); // call M2 use same logical object
M3(); // call …
Run Code Online (Sandbox Code Playgroud) 我有这样的代码
short a = 1;
short b = 2 ;
short c = a + b; // dosen't compile
Run Code Online (Sandbox Code Playgroud)
编译失败的原因是什么?x
+ x
总是产生Integer
或更大 Number
,但为什么?
我不想更改此代码,我只对JVM,OS或内核定制/配置感兴趣以获得最佳结果!
我有一个第二个循环(1000 x 1ms)
public static void main(String[] args) throws InterruptedException {
long start = System.nanoTime();
for (int i = 0; i < 1000; i++ ) {
Thread.sleep(TimeUnit.MILLISECONDS.toMillis(1));
}
long duration = System.nanoTime() - start;
System.out.println("Loop duration " +
duration / TimeUnit.MILLISECONDS.toNanos(1) + " ms.");
}
Run Code Online (Sandbox Code Playgroud)
在我的带有内核3.12的Fedora 20上,这个循环需要1055毫秒.
这是相当不错的结果,平均超过1100ms.
是否可以使用自定义JVM标志或操作系统配置更快地使用此代码?
Loop duration 1055 ms.
Run Code Online (Sandbox Code Playgroud) 我正在尝试缩短 UUID 值(存储在数据库中作为 UUID,而不是字符串)嵌入到 URL 中。我知道 URL 的 Base64,但试图看看我是否可以在没有破折号和下划线字符的情况下制作它。所以我想将 UUID 转换为 base62。经过大量的谷歌搜索,我发现:
对此没有标准(类似于 RFC2045),对吗?
最重要的是,它没有适当的实现。我发现了很多关于如何做到这一点的片段,但有一些说明“这是一个天真的实现”或其他东西。是否有适当的实现(我不介意准确解释映射应该如何完成,只要它正确完成)?
Apache Commons Codec 和 Guava 中有一些基类为 Base32 和 Base64 扩展,但我发现为 Base62 扩展它并不容易。甚至有可能做到吗(考虑到映射根本不同的事实)?
谢谢。
我正在开发一个Spring Hibernate项目,我有三个类
BaseEntity
,Person
&Owner
.
Person
延伸BaseEntity
,Owner
延伸Person
.
public class BaseEntity {
private Integer id;
Getters & Setters
Run Code Online (Sandbox Code Playgroud)
public class Person extends BaseEntity {
private String firstName;
private String lastName;
Getters & Setters
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table(name="OWNERS")
public class Owner extends Person {
@Column(name="ADDRESS")
private String address;
@Column(name="CITY")
private String city;
@Column(name="TELEPHONE")
private String telephone;
Getter and Setters
Run Code Online (Sandbox Code Playgroud)
现在我想在一个表中映射三个类的所有属性Owner
.任何人都可以帮我,我该如何映射?
我有一个基于xml的映射,我希望在注释中执行此操作
<class name="org.springframework.samples.petclinic.Owner" table="owners">
<id name="id" column="id">
<generator class="identity"/>
</id> …
Run Code Online (Sandbox Code Playgroud) 我有一个ArrayList如下.
ArrayList<ArrayList<String>> a = new ArrayList<ArrayList<String>>();
Run Code Online (Sandbox Code Playgroud)
其中ArrayList 'a'
包含两个StringList的字符串,如下所示.
[a,b,c,d] & [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
如何将这两个列表合并为一个列表,如下所示.
[a,b,c,d,1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我有Clojure功能generate-id
.
源代码:
(ns url62.core)
...
(defn generate-id []
(int-to-base62 (java.math.BigInteger. (clojure.string/replace (str (java.util.UUID/randomUUID)) "-" "") 16)))
Run Code Online (Sandbox Code Playgroud)
我试过这样的代码:
IFn generateId = Clojure.var("url62.core", "generate-id");
generateId.invoke(UUID.randomUUID());
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
java.lang.IllegalStateException: Attempting to call unbound fn: #'url62.core/generate-id
at clojure.lang.Var$Unbound.throwArity(Var.java:43)
at clojure.lang.AFn.invoke(AFn.java:32)
at clojure.lang.Var.invoke(Var.java:379)
Run Code Online (Sandbox Code Playgroud) 以下方法是名为election_date的字段的setter,其类型为java.util.date.它是tomcat应用程序的一部分.
执行时,我在行上得到一个Null指针异常:
System.out.println("ELECTION DATE: " + this.election_date.toString());
Run Code Online (Sandbox Code Playgroud)
public void setElection_date(Date election_date) {
this.election_date = election_date;
assert (this.election_date != null);
assert (this.election_date.toString()) != null;
System.out.println("ELECTION DATE: " + this.election_date.toString());
}
Run Code Online (Sandbox Code Playgroud)
编辑:请不要告诉我这是垃圾收集.我可能稍微离开巴尔默峰,但距离那不远.
我是Spring的新手,我想学习如何使用Spring开发REST API,所以我遵循了本教程:
https://spring.io/guides/gs/rest-service/
我正在使用STS,问题是当我尝试运行它时,我没有"Run on Server"选项.为什么?抱歉,这个菜鸟问题
问候