现在在特定小时的Java 8 LocalDateTime(Java 8 LocalDateTime today at specific hour)
早上6点有没有更好/更简单的方法来构建
LocalDateTime
对象?LocalDateTime todayAt6 = LocalDateTime.now().withHour(6).withMinute(0).withSecond(0).withNano(0);
不知何故,当我想说的是
now().withHours()
时,我不喜欢处理分钟/秒/纳米。Is there a nicer/easier way of constructing
LocalDateTime
object representing today at 6 AM than this?LocalDateTime todayAt6 = LocalDateTime.now().withHour(6).withMinute(0).withSecond(0).withNano(0);
Somehow I don't like dealing with minutes/seconds/nano when all I want to say is
now().withHours()
.
原文:https://stackoverflow.com/questions/36914596
最满意答案
所以,怯懦地回答我自己的问题......
我找不到用
Class<?>
做的任何方法,但是这种称为超级类型令牌的神奇技术似乎运作良好。 以下是更新的代码:public class Test { static class A {} static class B extends A {} public static void main(String[] args) throws Exception { Holder<HashSet<Integer>> i = newObjectHolder(new TypeReference<HashSet<Integer>>() {}); // works Holder<A> j = newObjectHolder(new TypeReference<A>() {}); // works Holder<A> k = newObjectHolder(new TypeReference<B>() {}); // works Holder<B> l = newObjectHolder(new TypeReference<A>() {}); // doesn't compile (good) } static class Holder<T> { public Holder(T newInstance) {} T get() { return null; } } public static <T,U extends TypeReference<? extends T>> Holder<T> newObjectHolder(U typeToken) throws Exception { T obj = typeToken.newInstance(); return new Holder<T>(obj); } }
这里给出了
TypeReference
代码,尽管我怀疑Guice的TypeLiteral
会起作用(但它没有newInstance代码,你必须实现它)。So, sheepishly, answering my own question...
I can't find any way to do it with
Class<?>
, but this magic technique called super type tokens seems to work well. Here's the updated code:public class Test { static class A {} static class B extends A {} public static void main(String[] args) throws Exception { Holder<HashSet<Integer>> i = newObjectHolder(new TypeReference<HashSet<Integer>>() {}); // works Holder<A> j = newObjectHolder(new TypeReference<A>() {}); // works Holder<A> k = newObjectHolder(new TypeReference<B>() {}); // works Holder<B> l = newObjectHolder(new TypeReference<A>() {}); // doesn't compile (good) } static class Holder<T> { public Holder(T newInstance) {} T get() { return null; } } public static <T,U extends TypeReference<? extends T>> Holder<T> newObjectHolder(U typeToken) throws Exception { T obj = typeToken.newInstance(); return new Holder<T>(obj); } }
The
TypeReference
code is given here, although I suspect that Guice'sTypeLiteral
would work just as well (but it doesn't have newInstance code, you'd have to implement it).
相关问答
更多-
下列中不属于面向对象的编程语言的是?[2022-05-30]
a -
所以,怯懦地回答我自己的问题...... 我找不到用Class>做的任何方法,但是这种称为超级类型令牌的神奇技术似乎运作良好。 以下是更新的代码: public class Test { static class A {} static class B extends A {} public static void main(String[] args) throws Exception { Holder
> i = newO ... -
在Java中,我可以指定任何数量的泛型类型参数吗?(In Java, can I specify any amount of generic type parameters?)[2023-09-05]
有这样的东西吗? 我已经阅读了C ++中的可变参数模板,但在Java中找不到类似的东西。 有这样的东西吗? 不,该功能在Java中不可用。 Is anything like this available? I have read about variadic templates in C++, but cannot find anything similar in Java. Is any such thing available? No, this feature is not available in ... -
但如果我在我的Box.count方法中键入
,那么我无法传递参数。 你无法传递参数的原因是因为Box没有实现Comparable 。 你应该做的是在Box类中添加通用约束: class Box > { ... } 此外,您的count方法有点过于通用。 如果将compeer的类型更改为Box 并将其list List > ,则可能更有意义。 方法签名现在看起来像这样: public static Java中具有泛型类型的AbstractFactory:一个设计问题(AbstractFactory with generic types in Java: a design problem)[2022-03-31]
如果你的方法返回一个IntegerObject你为什么不返回GenericObjectInterface? 你已经知道参数类型。 在这种情况下,只需向AbstractFactoryInterface添加一个通用参数即可: public interface AbstractFactoryInterface { ... } public class ConcreteFactory implements AbstractFactoryInterface 推理算法确定参数的类型以及结果被分配或返回的类型(如果可用)。 最后,推理算法试图找到适用于所有参数的最具体的类型。 你的例子中最具体的类型是Serializable ,它是String和ArrayList祖先。 The inference algorithm determines the types of the arguments and, if available, the type that the result is being assigned, or returned. Finally, th ...在静态方法中也添加一个泛型参数,替换一个类型变量的Object : public class Triplet{ public T a, b, c; Triplet(T a, T b, T c) { this.a = a; this.b = b; this.c = c; } public static void main(String[] args) { Triplet triplet ... 如何声明T和U从R扩展 staticR getLowestCommon(T t, U u) What about declaring T and U extend from R. static R getLowestCommon(T t, U u) 创建子类似乎是我将使用静态工厂方法的开销。 public class MyClass{ ... public static MyClass create(...) ... } Creating a subclass seems to be an overhead I would use a static factory method. public class MyClass { ... publi ... 目前, Action类的绑定表示 - U extends User。 由于MyUser不会扩展User ,而是扩展User ,因此它无法按预期工作。 User 不是User (不同类型)。 您可以在Action类中引入另一个类型参数,并在U边界中使用它: public abstract class Action > ...
相关文章
更多- 每日英语:7 Important Questions to Ask Yourself Today
- java正则表达式怎么写成能够匹配24小时机制的时间
- java计算某天与今天相差的天数
- java日期处理工具类(源码)
- Java日期时间
- JAVA开源项目[转]
- JAVA开源项目[转]
- JAVA开源项目[转]
- 【转】Java's hashCode is not safe for distributed systems
- java上传
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。