我有值,我想添加到ArrayList中以跟踪显示的数字.值是整数,所以我创建了一个ArrayList;
ArrayList<Integer[]> list = new ArrayList<>();
int x = 5
list.add(x);
Run Code Online (Sandbox Code Playgroud)
但我无法使用此方法向ArrayList添加任何内容.如果我使用字符串作为数组列表,它的工作原理.我是否必须使它成为一个String数组,然后以某种方式将数组转换为整数?
编辑:我有另一个问题.我希望列表只能容纳3个值.我该怎么办?
我需要了解编译servlet所需的serlvet-api.jar.
我正在构建一个简单的servlet,如下所示:
import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet {
// Remaining code here
}
Run Code Online (Sandbox Code Playgroud)
我知道我们需要servlet-api.jar文件来编译这个简单的servlet,如下所示:
javac -classpath /path/where/jar/is/servlet-api.jar
Run Code Online (Sandbox Code Playgroud)
现在我的怀疑从这里开始:
考虑这种情况:
假设我们使用Tomcat编译/构建简单的servlet(即构建servlet所需的tomcat版本的jar)并创建.war文件.我们可以在其他供应商的容器中部署战争吗?
相对较新的Java程序员和我已经被教导过你不能创建一个抽象类的实例.我也做了一些研究,我了解到在大多数情况下,当它出现一个抽象类时,它实际上是一个匿名的子类.但这是我遇到的问题:
Java的URL类有一个openConnection返回的方法URLConnection.URLConnection是一个抽象类,Java文档也将其所有子类列为抽象类......所以我真的迷失了.什么回来了?
我有以下字段和构造函数:
private final Properties properties;
public PropertiesExpander(Properties properties) {
this.properties = properties;
}
Run Code Online (Sandbox Code Playgroud)
好的做法是在构造函数中复制每个可变集合.我想制作一份浅薄的独立副本.我怎样才能做到这一点?
我的第一个想法是使用putAll()方法:
private final Properties properties = new Properties();
public PropertiesExpander(Properties properties) {
this.properties.putAll(properties);
}
Run Code Online (Sandbox Code Playgroud)
有没有更简单,更高效或更惯用的方式呢?也许在Guava或Apache Commons中有一些实用工具?
我开始知道在Java中,LinkedList类实现了DequeList接口和接口.这对我来说有点混乱.
在计算机科学教学大纲中,我从未被教导过队列可以是一个列表,或者更确切地说,队列可以像列表一样.也就是说,列表可以做的东西,但队列不能.但是列表可以像队列一样运行.例如,Listinterface具有以下方法:
add(E e)
add(int index, E element)
Run Code Online (Sandbox Code Playgroud)
但Queue 只有以下内容:
add(E e)
Run Code Online (Sandbox Code Playgroud)
所以很明显Queue不允许在特定索引处插入,这是允许的List.其他操作也是如此,例如Queue.remove()vs. List.remove(int index),List.get(int index)vs Queue.peek()..换句话说,list是一种更通用的数据结构,可以模拟Queue.
现在能够模拟与拥有合同子集不同.也就是说,Queue不允许某些操作(索引)List并允许某些操作仅以特定方式完成(仅插入尾部并仅从头部移除).所以Queue并没有真正对合同进行"补充" List.这正是为什么Queue不在ListJava集合框架中扩展,而是扩展Collection接口.我认为这也是为什么任何一个类都不能实现这两者的原因,因为Queue合同与合同冲突List(这就是为什么它们从Collection接口分开).但是,LinkedList实现两个接口.
我也遇到了这个答案:
该
LinkedList实施情况,以满足Deque合同,所以为什么不把它实现的接口?
我仍然不明白我们怎么说" LinkedList实施恰好满足Deque合同".队列的概念不允许插入任意索引.因此,Queue界面没有这样的方法. …
Computer[] labComputers = new Computer[10];
Run Code Online (Sandbox Code Playgroud)
同
public class Computer {
...
void toString(){
// print computer specs
}
}
public class Notebook extends Computer{
...
void toString(){
// print computer specs + laptop color
}
}
Run Code Online (Sandbox Code Playgroud)
每个下标变量labComputers[i]都可以引用一个Computer对象或一个Notebook对象,因为它Notebook是一个子类Computer.对于方法调用labComputers[i].toString(),多态性可确保调用正确的toString方法.
我想知道如果我们做了什么
Notebook[] labComputers = new Notebook[10];
Run Code Online (Sandbox Code Playgroud)
如果我用Computer对象和Notebook对象引用,我会得到什么样的或错误
我有时会对java中不同的Date类型及其实际用法感到困惑.在这里,我想总结一下我的理解
java.sql.Date :- 一个围绕毫秒值的瘦包装器,允许JDBC将其标识为SQL DATE值
java.sql.Timestamp :-java.util.Date的瘦包装器,允许JDBC API将其标识为SQL TIMESTAMP值.它增加了保持SQL TIMESTAMP小数秒值的功能,允许将小数秒的指定精度设置为纳秒
我见过大多数项目更喜欢Timestamp而不是date.我认为这样做的主要原因是Timestamp可以保持值达到纳秒精度,而数据可以保持到毫秒.正确?
Calendar :- 此类专为日期操作而设计,例如: - 用于在特定时刻和一组日历字段(如YEAR,MONTH,DAY_OF_MONTH,HOUR等)之间进行转换,以及用于操作日历字段,例如获取下周的日期.虽然我不知道为什么这个类是抽象的,只有一个实现存在,即GregorianCalendar.
在Haskell中编程时,我遇到了这个经常出现的问题.在某些时候,我尝试模拟OOP方法.在这里,我为我发现的flash游戏编写了一些AI,我想将各个部分和级别描述为一个部分列表.
module Main where
type Dimension = (Int, Int)
type Position = (Int, Int)
data Orientation = OrienLeft | OrienRight
data Pipe = Vertical | Horizontal | UpLeft | UpRight | DownLeft | DownRight
data Tank = Tank Dimension Orientation
data Bowl = Bowl Dimension
data Cross = Cross
data Source = Source Dimension
-- desired
-- data Piece = Pipe | Tank | Bowl | Cross | Source
-- So that I can put them in a list, and …Run Code Online (Sandbox Code Playgroud) 嗨,我之间没有一个明确的想法,
List<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
和
ArrayList<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud) 我想知道为什么第三个输出不是b.
这是我的代码:
public class SimpleTests {
public void func(A a) {
System.out.println("Hi A");
}
public void func(B b) {
System.out.println("Hi B");
}
public static void main(String[] args) {
A a = new A();
B b = new B();
A c = new B();
SimpleTests i = new SimpleTests();
i.func(a);
i.func(b);
i.func(c);
}
}
class A {}
class B extends A {}
Run Code Online (Sandbox Code Playgroud)
这是输出:
Hi A
Hi B
Hi A
Run Code Online (Sandbox Code Playgroud)
有人能告诉我为什么第三个输出是Hi A,不是Hi B.因为真实的c是B的一个实例.
java ×9
arrays ×2
collections ×2
abstract ×1
arraylist ×1
copy ×1
date ×1
haskell ×1
java-ee ×1
oop ×1
overloading ×1
polymorphism ×1
properties ×1
servlets ×1
tomcat7 ×1