Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

7
MVC模式和Swing
我发现在“真正的Swing生活”中最难掌握的设计模式之一是MVC模式。我浏览了该站点上的很多文章,讨论了该模式,但是我仍然不了解如何在Java Swing应用程序中利用该模式。 假设我有一个JFrame,其中包含一个表,几个文本字段和一些按钮。我可能会使用TableModel将JTable与基础数据模型“桥接”。但是,负责清除字段,验证字段,锁定字段以及按钮操作的所有函数通常都直接在JFrame中。但是,这不是将模式的Controller和View混合了吗? 据我所知,当查看JTable(和模型)时,我设法“正确地”实现了MVC模式,但是当我整体查看整个JFrame时,事情就变得混乱了。 我真的很想听听其他人对此的看法。当需要使用MVC模式向用户显示表格,几个字段和一些按钮时,如何处理?



4
URLConnection.setDoOutput()究竟会影响什么?
有setDoOutput()在URLConnection。根据文件我应该 如果您打算将URL连接用于输出,请将DoOutput标志设置为true,否则将其设置为false。 现在,我正好面对这个问题-Java运行时将请求转换为POST一次setDoOutput(true)调用,而服务器仅响应GET请求。我想了解如果我setDoOutput(true)从代码中删除代码会发生什么。 这究竟会影响什么?假设我将其设置为false-现在可以做什么,现在不能做什么?我可以执行GET请求吗?在此方法的上下文中,“输出”是什么?


7
是否可以在构造函数中的super()之前进行计算?
假设我有一个Base类,该类具有一个带有TextBox对象作为参数的单个参数构造函数。如果我有以下形式的简单类: public class Simple extends Base { public Simple(){ TextBox t = new TextBox(); super(t); //wouldn't it be nice if I could do things with t down here? } } 我会收到一条错误消息,告诉我对super的调用必须是构造函数中的第一个调用。但是,奇怪的是,我可以做到这一点。 public class Simple extends Base { public Simple(){ super(new TextBox()); } } 为什么允许这样做,但第一个例子不允许?我可以理解需要先设置子类,并且可能不允许在调用超级构造函数之前实例化对象变量。但是,t显然是方法(局部)变量,那么为什么不允许它呢? 有没有办法解决这个限制?在调用super之前但在进入构造函数之后,是否存在一种很好且安全的方式来将变量保存到可能要构造的事物中?或者,更笼统地说,允许在super被实际调用之前但在构造函数中进行计算? 谢谢。
79 java 


3
检查流中的instanceof
我有以下表达: scheduleIntervalContainers.stream() .filter(sic -> ((ScheduleIntervalContainer) sic).getStartTime() != ((ScheduleIntervalContainer)sic).getEndTime()) .collect(Collectors.toList()); ...其中scheduleIntervalContainers元素类型为ScheduleContainer: final List<ScheduleContainer> scheduleIntervalContainers 是否可以在过滤器之前检查类型?

16
转换给定时区的日期/时间-Java
我想将此GMT时间戳转换为GMT + 13: 2011-10-06 03:35:05 我已经尝试过约100种不同的DateFormat,TimeZone,Date,GregorianCalendar等组合,以尝试执行此非常基本的任务。 这段代码可以满足我在当前时间的需求: Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT")); DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z"); formatter.setTimeZone(TimeZone.getTimeZone("GMT+13")); String newZealandTime = formatter.format(calendar.getTime()); 但是我想要的是设置时间而不是使用当前时间。 我发现,任何时候我都尝试这样设置时间: calendar.setTime(new Date(1317816735000L)); 使用本地计算机的TimeZone。这是为什么?我知道,当“ new Date()”返回UTC + 0时间时,为什么当您将时间设置为毫秒时,它不再假设该时间是UTC? 是否有可能: 在对象上设置时间(日历/日期/时间戳) (可能)设置初始时间戳的TimeZone(calendar.setTimeZone(...)) 使用新的TimeZone格式化时间戳(formatter.setTimeZone(...)) 返回具有新时区时间的字符串。(formatter.format(calendar.getTime())) 在此先感谢您的帮助:D

4
将对象添加到ArrayList并在以后修改
如果我有一个ArrayList,并向其中添加了一个对象,后来又修改了该对象,此更改是否会反映在ArrayList中?还是将对象添加到ArrayList时,Java创建了一个副本并将其添加到ArrayList? 如果将对此对象的引用更改为null怎么办?这是否意味着ArrayList中的对象现在也为空?
79 java  arraylist 

7
如何在Java中初始化对象数组
我想初始化一个BlackJack游戏的Player对象数组。我已经阅读了很多有关初始化原始对象(例如,整数数组或字符串数​​组)的各种方法的信息,但是我无法将其理解为我在此处尝试做的事情(见下文)。我想返回一个初始化的Player对象数组。要创建的播放器对象的数量是一个整数,我向用户提示。我以为构造函数可以接受一个整数值,并在初始化Player对象的一些成员变量时相应地命名播放器。我想我很亲密,但仍然很困惑。 static class Player { private String Name; private int handValue; private boolean BlackJack; private TheCard[] Hand; public Player(int i) { if (i == 0) { this.Name = "Dealer"; } else { this.Name = "Player_" + String.valueOf(i); } this.handValue = 0; this.BlackJack = false; this.Hand = new TheCard[2]; } } …

10
为什么我们在Java中将父引用分配给子对象?
我在问一个很简单的问题,但是对此我有些困惑。 假设我有一堂课Parent: public class Parent { int name; } 并开设另一堂课Child: public class Child extends Parent{ int salary; } 最后是我的Main.java类 public class Main { public static void main(String[] args) { Parent parent = new Child(); parent.name= "abcd"; } } 如果我做一个子对象 Child child = new Child(): 然后child对象可以访问两个name and salary变量。 我的问题是: Parent parent …


7
终止Java程序
我找到了终止(关闭或停止)Java程序的方法。我找到了两个解决方案。 使用return; 当我想退出或终止程序执行时,添加它。 使用System.exit() ; 有时我用它。我从This Question中了解了Sytem.exit()。 所以,我对他们都了解一点。但是我仍然对它们的实际工作方式感到困惑。请检查以下代码... public class Testing { public static void main(String... str) { System.out.println(1); System.exit(0); System.out.println(2); return; } } 我确定2不会出现。我想知道为什么return;或其他代码可以在的语句下写System.exit(0);以及真正的定义是什么return;(因为对我而言,return没有任何变量或值,这很奇怪)?
79 java 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.