Java集合协方差问题

假设我们有一个包含这些类的程序: public interface AbstractItem { } public SharpItem implements AbstractItem { } public BluntItem implements AbstractItem { } public interface AbstractToolbox { //well the problem starts here… public List getItems(); } public ExpensiveToolbox implements AbstractToolbox { private List items = new ArrayList(); public List getItems() { return this.items; } } public CheapTooblox implements AbstractToolbox { […]

什么是封装?

我有两个封装定义,不能适合一个定义。 封装是数据隐藏。 通过使用private , protected和public ,将数据打包到单个组件中。 无论发生什么变化都包含在内。 保护任何易于改变的东西。 这两个定义如何讨论相同的概念?

以编程方式设置dock:命名Java Mac OS X JVM属性

是否有设置Dock的编程替代方法:通过执行命名Java Mac OS X属性 java -Xdock:name=”My App Name” -jar myapp.jar ,或者这是设置dock:name属性的唯一方法吗?

未在POM内部distributionManagement元素或-DaltDep loymentRepository = id :: layout :: url参数中指定存储库元素

我在部署时遇到问题,这是我收到的错误消息: [INFO] [INFO] — maven-deploy-plugin:2.7:deploy (default-deploy) @ core — [INFO] ———————————————————————— [INFO] BUILD FAILURE [INFO] ———————————————————————— [INFO] Total time: 3.296 s [INFO] Finished at: 2014-11-26T17:05:00+02:00 [INFO] Final Memory: 13M/244M [INFO] ———————————————————————— [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7: deploy (default-deploy) on project core: Deployment failed: repository element w as not specified in the POM inside distributionManagement […]

如何在java中添加任意长度的两个数字?

如何在java中添加任意长度的两个数字? 比如说,在java中长度是64位。 所以最大范围是-9223372036854775808到9223372036854775807.我是对的吗? 因此,如果我们想要添加一个比下面更大的数字,我得到一个错误 “整数太大” 长a = 9223372036854775807L; 长b = 9223372036854775808L; 在C中,我们可以将这些数字作为char数组,通过遍历每个char的地址并使用一些数据结构,我们可以添加任意大小的两个数字。 怎么做java。 我们可以遍历String中每个字符的地址。 谢谢你的回复。 我试图通过将数字作为字符串传递并从末尾添加每个字符来进行编码。 这对我来说可以。 使用BigInteger和我在上面指定的方法添加两个非常大的数字之间有什么大的区别(从结尾添加每个字符并在临时变量中存储余数并继续)。 BigInteger的基础机制是否与我的代码相同(从末尾添加每个字符)? 谢谢。

Java中的UDP广播

早上。 我是Java和套接字连接的新手,但我试图在端口8001上将255.255.255.255上的UDP数据包/广播发送到设备。 我可以将数据发送得很好,但是当接收数据时,连接超时。 我有一个数据包嗅探器,我可以看到数据包发送,然后设备响应。 我很确定这是我在代码中遗漏的一个新手错误,但我已经坚持了一段时间,任何帮助都会受到赞赏。 m_Socket = new DatagramSocket(m_SERVERPORT); InetAddress address = InetAddress.getByName(m_SERVERIP); m_DataPack = new DatagramPacket(m_SERVERCMD.getBytes(), m_SERVERCMD.getBytes().length, address, m_SERVERPORT); m_Socket.setBroadcast(true); m_Socket.connect(address, m_SERVERPORT); m_Socket.send(m_DataPack); m_DataPack = new DatagramPacket(data, data.length, address, m_SERVERPORT); m_Socket.receive(m_DataPack); // This is where it times out data = m_DataPack.getData(); String received = data.toString(); System.out.println(“Received: ” + received); m_Socket.close(); 谢谢和Gig’Em。 编辑: 我不确定这是否有帮助但是当我观察m_Socket对象时,我可以在发送之前看到以下内容: bound […]

创建名为defaultServletHandlerMapping的bean时出错

我将所有的XML Spring配置转换为Java代码配置,但是我无法运行我的所有测试(之前他们工作过),因为我有一个丑陋的例外: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘defaultServletHandlerMapping’ defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerMapping]: Factory method ‘defaultServletHandlerMapping’ threw exception; nested exception is java.lang.IllegalArgumentException: A ServletContext is required to configure default servlet handling at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:602) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1113) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1008) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505) […]

如何从用户获取指纹输入并保存到android中的sqlite

我正在使用Android Marshmallow和Moto G4以及一个用于测试的设备。 我想创建一个应用程序,它将指纹输入并保存在本地数据库(sqlite)或数据库中,我的意思是我们可以采取哪种类型的输入并保存它?

在TextArea,Java中使用Document Listener时出现java.lang.IllegalStateException

DocumentListener dl = new MessageDocumentListener(); ((AbstractDocument) nboxArea.getDocument()).setDocumentFilter(new DocumentFilter() { public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { string = string.replaceAll(“\t”, “”); super.insertString(fb, offset, string,(javax.swing.text.AttributeSet) attr); } public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { text = text.replaceAll(“\t”, “”); //TODO must do something here […]

如何关注JFrame?

我正在写一个小游戏,一个JFrame包含主游戏,另一个JFrame显示得分。 问题是,当我完成构建它们时,得分JFrame总是最终集中注意力! 我试过调用scoreDisplay.toFront(),scoreDisplay.requestFocus(),甚至: display.setState(JFrame.ICONIZED); display.setState(JFrame.NORMAL); 有没有办法让这项工作? 在此先感谢,约翰穆拉诺