我正在阅读关于Javastream和发现新的东西,因为我走。 我发现的新东西之一是peek()函数。 我几乎读过的所有东西都说它应该用来debugging你的Streams。 如果我有一个stream,其中每个帐户有一个用户名,密码字段和login()和loggedIn()方法。 我也有 Consumer<Account> login = account -> account.login(); 和 Predicate<Account> loggedIn = account -> account.loggedIn(); 为什么这么糟糕? List<Account> accounts; //assume it's been setup List<Account> loggedInAccount = accounts.stream() .peek(login) .filter(loggedIn) .collect(Collectors.toList()); 现在据我所知,这正是它打算做的。 它; 提供一个帐户清单 尝试login到每个帐户 过滤掉任何未login的帐户 将login帐户收集到新列表中 做这样的事情有什么缺点? 任何理由我不应该继续? 最后,如果不是这个解决scheme那么是什么? 这个原始版本使用.filter()方法如下; .filter(account -> { account.login(); return account.loggedIn(); })
我有一个java.util.Date对象或一个java.util.Calendar对象。 如何将其转换为java.time框架中的正确types? 我听说现在我们应该用java.timetypes来完成大部分业务逻辑。 当使用旧时间代码尚未更新的时间我需要能够来回转换。 什么types映射到java.util.Date或java.util.Calendar ?
什么是“java.lang.Error:未解决的编译问题”的可能原因? 附加信息: 从现有JAR顶部的构build中复制一组更新的JAR文件并重新启动应用程序后,我已经看到了这一点。 JAR是使用Maven构build过程构build的。 如果接口更改,我希望看到LinkageErrors或ClassNotFound错误。 上面的错误提示了一些较低级别的问题。 干净的重build和重新部署解决了这个问题。 可能这个错误表明一个损坏的JAR?
在Java中,可以写一个switch语句,其中每个case包含多个值? 例如(尽pipe下面的代码显然不起作用): switch (num) { case 1 .. 5: System.out.println("testing case 1 to 5"); break; case 6 .. 10: System.out.println("testing case 6 to 10"); break; } 我认为这可以在Objective C中完成,Java中是否有类似的东西? 或者我应该只使用if , else if语句呢?
以下屏幕截图显示了TextBubbleBorder 1的testing。 我想使矩形外部的组件angular落完全透明,并显示其下的任何组件。 通过在Graphics2D实例上设置Clip (表示圆angular外的区域)并调用clearRect()我find了一种方法来将标签的BG颜色限制为“在边框内”。 这可以在Label 1看到。 但是,如果父面板上有红色的BG(或任何非标准颜色),则可以看到这种方法的不足之处。 angular落默认为默认的面板颜色(最容易看到Panel 2 )。 最终,我希望能够在父容器中使用非标准的颜色,但部分原因是我需要做什么才能使用渐变颜料复制此组件? 有谁知道让angular落变得透明的方法吗? import java.awt.*; import java.awt.geom.*; import javax.swing.*; import javax.swing.border.*; public class BorderTest { public static void main(String[] args) { Runnable r = new Runnable() { @Override public void run() { JPanel gui = new JPanel(new GridLayout(1,0,5,5)); gui.setBorder(new EmptyBorder(10,10,10,10)); gui.setBackground(Color.RED); AbstractBorder brdr = new […]
我试图parsing一些巨大的JSON文件(如http://eu.battle.net/auction-data/258993a3c6b974ef3e6f22ea6f822720/auctions.json )使用gson库( http://code.google.com/p/google- gson / )在JAVA中。 我想知道什么是parsing这种大文件(大约80k行)最好的方法,如果你可能知道可以帮助我处理这个问题的好的API。 一些想法… 逐行阅读并删除JSON格式:但这是无稽之谈。 通过将这个文件分割成许多其他文件来减lessJSON文件:但是我没有find任何好的Java API。 直接使用这个文件作为非Sql数据库,保存该文件并将其用作我的数据库。 我真的很感激adices / help / messages / :-)谢谢。
我觉得很奇怪,在Java中创buildDate对象的最明显的方式已经被弃用,似乎已经被“取代”,不太明显的使用宽松的日历。 所以… 你如何检查一个date,月份和年份的组合是一个有效date? 例如2008-02-31(如yyyy-mm-dd)的date将是无效date。
可能重复: 计算两个Javadate实例之间的差异 在Java中,我想计算两个date之间的天数。 在我的数据库中,它们被存储为DATE数据types,但在我的代码中,它们是string。 我想计算这两个string之间的天数。
在Java中,文件的名称应该与该文件中包含的public class的名称相同。 为什么这是一个限制? 它的目的是什么?
Java中有匿名代码块的实际用法吗? public static void main(String[] args) { // in { // out } } 请注意,这不是关于命名块,即 name: { if ( /* something */ ) break name; } 。