Tag: java

List <Dog>是List <Animal>的一个子类吗? 为什么不是Java的generics隐式多态?

我对Javagenerics如何处理inheritance/多态性有些困惑。 假设以下层次结构 – 动物 (家长) 狗 – 猫 (儿童) 所以假设我有一个方法doSomething(List<Animal> animals) 。 按照所有inheritance和多态的规则,我会假定一个List<Dog> 是一个List<Animal> ,一个List<Cat> 是一个List<Animal> – 所以任何一个都可以传递给这个方法。 不是这样。 如果我想实现这种行为,我必须明确地告诉方法通过说doSomething(List<? extends Animal> animals)接受动物子集的doSomething(List<? extends Animal> animals) 。 我明白这是Java的行为。 我的问题是为什么 ? 为什么多态一般是隐含的,但是当涉及到generics时,必须指定它?

在Java中重写equals和hashCode时应该考虑什么问题?

当重写equals和hashCode时,必须考虑哪些问题/陷阱?

什么是堆栈跟踪,以及如何使用它来debugging我的应用程序错误?

有时当我运行我的应用程序,它给我一个错误,看起来像: Exception in thread "main" java.lang.NullPointerException at com.example.myproject.Book.getTitle(Book.java:16) at com.example.myproject.Author.getBookTitles(Author.java:25) at com.example.myproject.Bootstrap.main(Bootstrap.java:14) 人们称之为“堆栈轨迹”。 什么是堆栈跟踪? 什么可以告诉我关于我的程序中发生的错误? 关于这个问题 – 我常常会遇到一个问题,那就是新手程序员在“得到一个错误”的地方,他们只是简单地粘贴他们的堆栈跟踪和一些随机代码块,而不理解堆栈跟踪是什么或者他们如何使用它。 这个问题是作为一个新手程序员的参考,他们可能需要帮助理解堆栈跟踪的价值。

打印Java数组最简单的方法是什么?

在Java中,数组不会覆盖toString() ,所以如果您尝试直接打印一个,会得到奇怪的输出,包括内存位置: int[] intArray = new int[] {1, 2, 3, 4, 5}; System.out.println(intArray); // prints something like '[I@3343c8b3' 但通常我们实际上想要更多的东西像[1, 2, 3, 4, 5] 。 什么是最简单的方法呢? 以下是一些示例input和输出: // array of primitives: int[] intArray = new int[] {1, 2, 3, 4, 5}; //output: [1, 2, 3, 4, 5] // array of object references: String[] strArray = new […]

什么是“找不到符号”的编译错误是什么意思?

请解释以下关于“无法find符号”错误: 这个错误是什么意思? 什么东西可以导致这个错误? 程序员如何去解决这个错误? 这个问题被devise成一个关于Java中“找不到符号”编译错误的综合性问题。

如何使用JSP / Servlet将file upload到服务器?

我怎样才能使用JSP / Servlet上传文件到服务器? 我试过这个: <form action="upload" method="post"> <input type="text" name="description" /> <input type="file" name="file" /> <input type="submit" /> </form> 但是,我只获取文件名,而不是文件内容。 当我将enctype="multipart/form-data"到<form> , request.getParameter()返回null 。 在研究期间,我偶然发现了Apache Common FileUpload 。 我试过这个: FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); // This line is where it died. 不幸的是,servlet抛出了一个没有明确信息和原因的exception。 这里是堆栈跟踪: SEVERE: Servlet.service() for […]

如何parsingJSON

我有以下JSON文本,我需要parsing,以获得pageName , pagePic , post_id等 什么是必需的代码? { "pageInfo": { "pageName": "abc", "pagePic": "http://example.com/content.jpg" } "posts": [ { "post_id": "123456789012_123456789012", "actor_id": "1234567890", "picOfPersonWhoPosted": "http://example.com/photo.jpg", "nameOfPersonWhoPosted": "Jane Doe", "message": "Sounds cool. Can't wait to see it!", "likesCount": "2", "comments": [], "timeOfPost": "1234567890" } ] }

什么是原始types,为什么我们不应该使用它?

问题: Java中的原始types是什么?为什么我经常听说他们不应该用在新代码中? 如果我们不能使用原始types,那么有什么替代方法?

我如何在Java中编写正确的微基准testing?

你如何在Java中编写(并运行)一个正确的微基准testing? 我在这里寻找代码示例和评论,说明各种要考虑的事情。 示例:基准测量应该是时间/迭代还是迭代/时间,为什么? 相关: 秒表基准testing是否可以接受?

在Swing GUI中提供空白区域

一个没有空白的GUI显得“拥挤”。 我怎样才能提供空白,而不是明确地设置组件的位置或大小?