我试图从一个servlet返回数据库搜索结果的ArrayList,以显示在jsp页面上.
将arraylist设置为servlet中的请求的地址,并将请求转发到jsp页面.当我尝试在jsp页面上检索它时,它会给出以下错误:
"java.util.Vector无法强制转换为java.util.ArrayList"
servlet代码:
List<Car> ResultList=SearchPartsDAO.displaySearchResults(car);
if(ResultList.size()>=1){
request.setAttribute("ResultList", ResultList);
request.getRequestDispatcher("SearchResults.jsp").forward(request, response);
}else
response.sendRedirect("NotFound.jsp");
Run Code Online (Sandbox Code Playgroud)
JSP:
<body>
<%
ArrayList<Car> resultList = new ArrayList<Car>();
resultList=(ArrayList<Car>)request.getAttribute("ResultList");
%>
<%System.out.println(resultList.get(0).getCarMake());%>
Run Code Online (Sandbox Code Playgroud) 我是java的新手,我正在尝试做的是使用集合为计算机零件商店中存储可用产品的目录制作模型.我的导师要求目录中的每个产品的一个实例.这就是我提出的:
import java.util.*;
public class AvailablesCatalog {
public AvailablesCatalog(List cat1) {
cat1 = new ArrayList();
Motherboard item1 = new Motherboard("MD4652", 1995, "Lenovo", 100.50, "Intel", 32, 5);
CPU item2 = new CPU("MD4652", 1995, "Lenovo", 100.50, 2.9, 6);
Graphics item3 = new Graphics("MD4652", 1995, "Lenovo", 100.50, "AMD", 6);
RAM item4 = new RAM("MD4652", 1995, "Lenovo", 100.50, "DDR2", 4, 1600);
HD item5 = new HD("MD4652", 1995, "Lenovo", 100.50, "SSD", 2.5, 750);
Monitor item6 = new Monitor("MD4652", 1995, "Lenovo", 100.50, "LED", 17.5, "1920x1080", "HDMI"); …Run Code Online (Sandbox Code Playgroud) 我有这个奇怪的事情,我正在尝试添加到ArrayList但它没有添加,它获取值和一切.请检查代码并将我弄清楚.
我要添加的类:
public class ManualProductGUI extends JDialog {
private final JPanel contentPanel = new JPanel();
private JTextField barcodeField;
private JTextField idField;
private JTextField nameField;
private JTextField priceField;
private JTextField quantityField;
private JTextField infoField;
BasketContainer bc = new BasketContainer();
private static final long serialVersionUID = 1L;
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
ManualProductGUI dialog = new ManualProductGUI();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the dialog.
*/ …Run Code Online (Sandbox Code Playgroud) 我有一个从网站中提取数据的爬虫,我得到以下字符串:
String s = " -- Android 2.3.1 (Gingerbread) -- -- -- -- -- -- -- -- 8" Wide LCD - tela sensível ao toque (resistiva) -- -- 800 x 600 (4:3) -- -- -- -- -- -- -- -- 1,2 GHz ARM Cortex A8 Core (RK2918) -- -- 4 GB (Memória Flash) e DRAM 512 Mb, DDR3 -- -- Slot para cartão Micro SD (Máx. 32 GB) -- -- Integrado, suporta rotação de tela -- -- Sim -- -- …Run Code Online (Sandbox Code Playgroud) 比方说,我有
public class Foo<Game> extends ArrayList<Game>{
}
Run Code Online (Sandbox Code Playgroud)
我想迭代它的元素.我知道我可以使用带迭代器的for循环.但尝试类似的东西:
for(Game g : super)
Run Code Online (Sandbox Code Playgroud)
似乎不起作用.这是神秘的(至少对我而言)因为super是对ArrayList<Game>应该能够迭代的类型对象的引用.是否有一些我缺少的语法?
编辑:我在类声明中添加了Foo类型.
为什么返回类型在ArrayList.add(E e)和ArrayList.add(int index,E element)中有所不同?
有人能帮我解释一下吗?因为今天我收到如下错误..
public void Foo(List<String> list) {
// do something
}
..........
Run Code Online (Sandbox Code Playgroud)
当Foo(new ArrayList<String>().add("John"));
我在IDE中遇到编译错误时,从我的测试类中调用此方法.所以,我注意到ArrayList.add(E e)方法不是 void返回类型.如果是这样,我不知道为什么这个方法返回布尔类型.
PS:我认为ArrayList.add(E e)方法在很长一段时间之前都有void方法.
感谢您阅读我的问题.
我正在映射一个表...说Employee到ArrayList<Employee>一个类级变量,我将在多个地方使用它,而不是每次都访问数据库.
我想把它保持为只读,即.没有人可以添加或删除
ArrayList曾经填充过的元素.
有人可以建议一种方法来实现这一目标吗
编辑:修改后我想要Exception抛出一些东西.
提前致谢
===主要编辑(和次要编辑)===
我已经完全重写一个我前两天提交,因为它是基于两个人的代码不那么好深思熟虑的帅哥,从gitgo一个非常不合适的想法的代码.我不好好研究不够.
不过,@ F. Böller非常友好地回答了关于我原始代码的问题,并说我需要comparator在这个背景下定义:
TreeSet<ArrayList<Integer>> hs = new TreeSet<>(comparator);.
这就是我需要谷歌java树木比较器的所有鼓励,并根据我在那里看到的修改.这一点都不容易,我承认我仍然不太明白为什么下面的语法基本上都是我需要的,但是如果没有Googled链接上面的例子,我就永远不会想到它.
TreeSet<Leaf> theTreeSet = new TreeSet<>(new HowToCompareLeaves());
===次要编辑 - 以下行错误:
无论如何,下面的代码工作得很好(根据每个"叶子"中的第一个元素排序).
===以下行是正确的:
无论如何,下面的代码工作得很好(对每个"叶子"中的所有元素进行排序和比较).
===结束次要编辑===
但是,如果有人可以解释(对于之前从未使用过的人)上面的线实际上做了什么,我会很感激.它似乎定义了一个新的实例,它被定义为比较由......组成的数据项的方法.是吗?它是一个新的构造函数,需要定义如何将新元素分类到自身?TreeSetarTreeSet
package treed;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.TreeSet;
public class TreeSetExample {
public static final int NR = 4, NC = 3;
public static void main(String a[])
{
ArrayList<Leaf> ar = new ArrayList<>(NR);
for (int …Run Code Online (Sandbox Code Playgroud) 我正在使用列表列表:
List<List<String>> LoL = new ArrayList<List<String>>();
Run Code Online (Sandbox Code Playgroud)
我偶尔需要插入/编辑列表中的元素.是否有一个函数可以引用2d结构中的特定元素并在那里插入所需的值?
我目前知道这样做的唯一方法是一次列表,使用get语句引用其余元素的现有列表以及要插入的元素,如下所示:
LoL.set(x, Arrays.asList(LoL.get(0).get(1), LoL.get(0).get(2), LoL.get(0).get(3)....LoL.get(0).get(12), "value to be inserted", LoL.get(0).get(14)...LoL.get(0).get(25));
Run Code Online (Sandbox Code Playgroud)
即使是大量的元素,这也很麻烦.
我正在尝试使用String数组实现ArrayList.
实现我在我的日食中得到删除类型参数错误.
ArrayList.java
import java.util.List;
public class ArrayList {
public static void main(String [] a)
{
String [] things = {"eggs","chicken","milk","butter"};
List<String> list1 = new ArrayList<String>();
for(String s: things)
list1.add(s);
String [] morethings = {"chicken","milk"};
List<String> list2 = (List<String>) new ArrayList ();
for(String y: morethings)
list2.add(y);
for(int i=0; i<list1.size();i++)
{
System.out.printf("%s ", list1.get(i));
}
}
}
Run Code Online (Sandbox Code Playgroud)