我正在使用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) 我有界面
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
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 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)
有什么理由喜欢新方法吗?
有什么优点/缺点?
我正在尝试从Excel中获取一个范围,其中指定了多个区域,基本上我已经...
int StartColumn
int EndColumn
int [] ColumnsToSkip
组合这些时,可以生成具有非连续区域的范围.不幸的是,我无法弄清楚要得到这个... MSDN不是很有用......
工作表单;
sheet.get_Range( what goes in here??? );
Run Code Online (Sandbox Code Playgroud)
有人提供任何帮助吗?干杯.
属性代码
[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
解释为什么会这样?毕竟,它必须继承.
我想创建一个可以动态加载插件的应用程序,但我没有在互联网上找到任何文献.
困难的是:我事先不知道这个名字.
例如,我有一个插件界面:
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)
谢谢你的帮助.
我是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插件这样做?
我在其上创建了物化视图日志表:
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?
我使用我的 Maven 项目的并行构建。
通常我会运行mvn install -T 4(我的 PC 上有 4 个内核)。
之后,我必须等待近 5-10 分钟才能完全构建项目。我无法在 Windows 工作站上执行任何操作:鼠标/键盘没有响应。CPU 负载 = 100%。
有没有办法降低 maven 生成的线程/进程(javac)的优先级?
据我了解,如果我将优先级设置为低于正常值 - 操作系统将为 maven 构建安排更少的时间,而为其他程序安排更多的时间。
我在尝试插入记录时收到错误消息,我已经仔细检查了所有值是否存在且数据类型是否一致.有人可以帮我发现问题.
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)