小编tur*_*off的帖子

用Jackson将对象转储到String

我正在使用Gson在我的应用程序中生成调试输出

Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create();
gson.toJson(myObject);
Run Code Online (Sandbox Code Playgroud)

但在尝试序列化数据结构时,Gson确实抱怨循环引用错误.这可以用杰克逊图书馆完成吗?

UPD Gson 2.3.1:2014年11月20日发布

Added support to serialize objects with self-referential fields. The self-referential field is set to null in JSON. Previous version of Gson threw a StackOverflowException on encountering any self-referential fields.
    The most visible impact of this is that Gson can now serialize Throwable (Exception and Error)
Run Code Online (Sandbox Code Playgroud)

java jackson gson

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

自动生成非通用接口实现

我有界面

public interface ObjectBuilder<E> {  
   E buildObject();
}
Run Code Online (Sandbox Code Playgroud)

此外,该项目有很多类实现非泛型版本的接口.

class MyClassBuilder implements ObjectBuilder {
    public MyClass buildObject() {/**/}
}
Run Code Online (Sandbox Code Playgroud)

是否可以自动转换所有这些类,以便它们实现了接口的通用版本?

自动重构到这个:

class MyClassBuilder implements ObjectBuilder<MyClass> {
    public MyClass buildObject() {/**/}
}
Run Code Online (Sandbox Code Playgroud)

是否有内置或插件Intellij IDEA?还是在其他IDE?

java generics refactoring intellij-idea automated-refactoring

18
推荐指数
2
解决办法
2051
查看次数

java.sql.Date到joda时间转换

oracle sql:

select trunc( sysdate, 'Month') month
from dual
Run Code Online (Sandbox Code Playgroud)

Java的:

java.sql.Date sqlDate = resultSet.getDate("month");
log.info(sqlDate);
DateTime dateTime = new DateTime(sqlDate.getTime());
log.info(dateTime);
dateTime = dateTime.withMillisOfDay(0);
log.info(dateTime);
Run Code Online (Sandbox Code Playgroud)

输出:

2012-01-01

2012-01-01T 01:00:00.000 + 07:00

2012-01-01T 00:00:00.000 + 07:00

额外的一小时在哪里?

java sql oracle jodatime

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

ConcurrentHashMap.newKeySet()vs Collections.newSetFromMap()

Java 8引入了获取并发Set实现的新方法

// Pre-Java-8 way to create a concurrent set
Set<String> oldStyle = Collections.newSetFromMap(new ConcurrentHashMap<>());
// New method in Java 8
Set<String> newStyle = ConcurrentHashMap.newKeySet();
Run Code Online (Sandbox Code Playgroud)

有什么理由喜欢新方法吗?

有什么优点/缺点?

java set concurrenthashmap java.util.concurrent java-8

15
推荐指数
2
解决办法
6695
查看次数

查找eclipse项目中的错误数

如何以编程方式查找eclipse项目中的错误数(以红色标记)?

java eclipse

13
推荐指数
1
解决办法
865
查看次数

具有多个区域的Excel Get_Range

我正在尝试从Excel中获取一个范围,其中指定了多个区域,基本上我已经...

int StartColumn
int EndColumn
int [] ColumnsToSkip

组合这些时,可以生成具有非连续区域的范围.不幸的是,我无法弄清楚要得到这个... MSDN不是很有用......

工作表单;

sheet.get_Range( what goes in here??? );
Run Code Online (Sandbox Code Playgroud)

有人提供任何帮助吗?干杯.

c# excel excel-interop

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

继承属性

属性代码

[AttributeUsage(AttributeTargets.Property, Inherited = true)]
class IgnoreAttribute : Attribute
{
}
Run Code Online (Sandbox Code Playgroud)

基类

abstract class ManagementUnit
{
    [Ignore]
    public abstract byte UnitType { get; }
}
Run Code Online (Sandbox Code Playgroud)

主要课程

class Region : ManagementUnit
{
    public override byte UnitType
    {
        get { return 0; }
    }

    private static void Main()
    {
        Type t = typeof(Region);
        foreach (PropertyInfo p in t.GetProperties())
        {
            if (p.GetCustomAttributes(typeof(IgnoreAttribute), true).Length != 0)
                Console.WriteLine("have attr");
            else
                Console.WriteLine("don't have attr");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出: don't have attr

解释为什么会这样?毕竟,它必须继承.

.net c# inheritance attributes

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

Java动态加载插件

我想创建一个可以动态加载插件的应用程序,但我没有在互联网上找到任何文献.

困难的是:我事先不知道这个名字.

例如,我有一个插件界面:

public interface Plugin {
    public static Plugin newPlugin();
    public void executePlugin(String args[]);
}
Run Code Online (Sandbox Code Playgroud)

这样在jar文件中实现插件的每个Class 都在列表中实例化:

Method method = classToLoad.getMethod ("newPlugin");
mylist.add(method.invoke(null);
Run Code Online (Sandbox Code Playgroud)
  1. 第一个问题是,我不能在接口中使用静态方法.
  2. 第二个问题是,我不知道如何找到实现接口的所有类

谢谢你的帮助.

java plugins runtime classpath

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

将库及其所有依赖项打包到一个文件夹,但在单独的文件夹中包含其他依赖项

我是maven项目.我使用maven-assembly-plugin创建包含所有模块依赖项的zip文件.需要创建具有以下结构的zip:

/my-libs
/other-libs
Run Code Online (Sandbox Code Playgroud)

my-libs需要包装从依赖my-libdepenency +所有的传递依赖.TO other-libs需要收拾所有其他从目前的Maven的模块依赖.

基本上我需要有条件地选择目标文件夹:

if (dependency in transitive-dependencies(my-lib))
   copy to /my-libs
else
   copy to /other-libs
Run Code Online (Sandbox Code Playgroud)

有可能maven-assembly-plugin吗?有没有替代maven插件这样做?

java zip dependencies maven maven-assembly-plugin

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

如何确定表是否用于存储物化视图日志?

我在其上创建了物化视图日志表:

create table T1(A number primary key);
create materialized view log on T1 with primary key;
Run Code Online (Sandbox Code Playgroud)

Oracle还为物化视图日志创建了两个表:

select TABLE_NAME from USER_TABLES

|T1       |
|MLOG$_T1 |
|RUPD$_T1 |
Run Code Online (Sandbox Code Playgroud)

如何确定该RUPD$_T1表是一个包含mview日志的表T1

我可以确定这个MLOG$_T1:

select MASTER, LOG_TABLE from USER_MVIEW_LOGS

|T1       |MLOG$_T1 |
Run Code Online (Sandbox Code Playgroud)

但是在哪里可以找到对该表的引用RUPD$_T1

sql oracle materialized-views database-replication

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

降低 Maven 构建线程/进程的优先级

我使用我的 Maven 项目的并行构建。

通常我会运行mvn install -T 4(我的 PC 上有 4 个内核)。

之后,我必须等待近 5-10 分钟才能完全构建项目。我无法在 Windows 工作站上执行任何操作:鼠标/键盘没有响应。CPU 负载 = 100%。

有没有办法降低 maven 生成的线程/进程(javac)的优先级?

据我了解,如果我将优先级设置为低于正常值 - 操作系统将为 maven 构建安排更少的时间,而为其他程序安排更多的时间。

java multithreading maven thread-priority

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

没有足够的值错误消息Oracle

我在尝试插入记录时收到错误消息,我已经仔细检查了所有值是否存在且数据类型是否一致.有人可以帮我发现问题.

CREATE SEQUENCE EMP_ID_SEQ
START WITH 300
INCREMENT BY 1;

CREATE TABLE STAFF(
EMP_ID NUMBER NOT NULL,
EMP_NAME VARCHAR2(20),
EMP_DOB DATE,
EMP_TEL VARCHAR2(20),
EMP_EMAIL VARCHAR2(50),
EMP_ADDR VARCHAR2(100),
EMP_HIREDATE DATE,
EMP_ENDDATE DATE,
EMP_SALARY NUMBER(7,2),
EMP_SUPERVISOR NUMBER,
 JOB_CODE NUMBER,
 BRA_CODE NUMBER);

 CREATE TRIGGER EMP_ID_TRG
BEFORE INSERT ON STAFF
FOR EACH ROW
BEGIN
SELECT EMP_ID_SEQ.NEXTVAL
INTO :NEW.EMP_ID
FROM DUAL;
END;
/

INSERT INTO STAFF VALUES ('Jaime Stark',to_date('29/04/1951','dd/mm/YYYY'),'607 4432-1059','Donec.fringilla.Donec@necurnaet.ca','P.O. Box 891, 5837 Enim Avenue',to_date('16/06/2010','dd/mm/YYYY'),NULL,41695,NULL,1,1);
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle11g database-schema

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