java三个尖括号什么?java中的尖括号干嘛的,经常函数中见到使用,里面都是类名
大家好,关于java三个尖括号什么很多朋友都还不太明白,今天小编就来为大家分享关于java中的尖括号干嘛的,经常函数中见到使用,里面都是类名的知识,希望对各位有所帮助!
java 写入xml怎么试都不对,尖括号怎么处理
包括增加,删除,查询,主方法测式方法,下面有xml文档,记得导入jdom.jar
步骤是:
1、建立DocumentBuilderFactory
2、建立DocumentBuilder
3、解析xml文档
4、操作xml文档
5、建立TransformerFactory
6、建立Transformer
7、保存修改后的xml文档
下边是一个例子,希望可以帮到你
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class Company{
String fileXMLName;
public Company(String fileXMLName){
super();
this.fileXMLName= fileXMLName;
}
public void showList(){
try{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(this.fileXMLName);
NodeList n1=doc.getElementsByTagName("雇员");
for(int i=0;i<n1.getLength();i++){
Element guyuan=(Element)n1.item(i);
Attr bumen=guyuan.getAttributeNode("部门");
Attr quanzhi=guyuan.getAttributeNode("全职");
System.out.print("雇员"+(i+1));
if(bumen!=null){
System.out.println("部门:"+bumen.getValue());
}
if(quanzhi!=null){
System.out.println("全职:"+quanzhi.getValue());
}
NodeList xingming=guyuan.getElementsByTagName("姓名");
System.out.println("姓名:"+xingming.item(0).getFirstChild().getNodeValue());
NodeList gudate=guyuan.getElementsByTagName("雇佣日期");
System.out.println("雇佣日期:"+gudate.item(0).getFirstChild().getNodeValue());
NodeList qingdan=guyuan.getElementsByTagName("项目清单");
NodeList xiangmu=((Element)qingdan.item(0)).getElementsByTagName("项目");
for(int j=0;j<xiangmu.getLength();j++){
Element xiangmu2=(Element)xiangmu.item(j);
NodeList chanping=xiangmu2.getElementsByTagName("产品");
NodeList jiage=xiangmu2.getElementsByTagName("价格");
System.out.println("项目"+(j+1)+"产品:"+chanping.item(0).getFirstChild().getNodeValue());
System.out.println("项目"+(j+1)+"产品:"+jiage.item(0).getFirstChild().getNodeValue());
}
}
} catch(DOMException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(ParserConfigurationException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(SAXException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void CreateOne(String chanping,String jiage){
try{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(this.fileXMLName);
NodeList xingming=doc.getElementsByTagName("姓名");
Element xingming1=null;
for(int i=0;i<xingming.getLength();i++){
xingming1=(Element)xingming.item(i);
String name=xingming1.getFirstChild().getNodeValue();
if(name.equals("王权")){
Element guyuan=(Element)xingming1.getParentNode();
NodeList qingdan=guyuan.getElementsByTagName("项目清单");
Element qingdan1=(Element)qingdan.item(0);
Element xiangmu=doc.createElement("项目");
Element chan=doc.createElement("产品");
Element jia=doc.createElement("价格");
chan.appendChild(doc.createTextNode(chanping));
jia.appendChild(doc.createTextNode(jiage));
xiangmu.appendChild(chan);
xiangmu.appendChild(jia);
qingdan1.appendChild(xiangmu);
TransformerFactory tf=TransformerFactory.newInstance();
Transformer tr=tf.newTransformer();
tr.transform(new DOMSource(doc), new StreamResult(new File("newcompany.xml")));
break;
}
}
} catch(DOMException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(TransformerConfigurationException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(ParserConfigurationException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(SAXException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(TransformerFactoryConfigurationError e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(TransformerException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void deleteone(String bumen){
try{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(this.fileXMLName);
NodeList gongsis=doc.getElementsByTagName("公司");
Element gongsi=(Element)gongsis.item(0);
NodeList guyuans=doc.getElementsByTagName("雇员");
Element guyuan=null;
for(int i=0;i<guyuans.getLength();i++){
guyuan=(Element)guyuans.item(i);
Attr bumens=guyuan.getAttributeNode("部门");
if((bumens!=null)&&(bumens.getValue().equals(bumen))){
gongsi.removeChild(guyuan);
}
}
TransformerFactory tf=TransformerFactory.newInstance();
Transformer tr=tf.newTransformer();
tr.transform(new DOMSource(doc), new StreamResult(new File("newcompany.xml")));
} catch(DOMException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(TransformerConfigurationException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(ParserConfigurationException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(SAXException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(TransformerFactoryConfigurationError e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(TransformerException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args){
// TODO Auto-generated method stub
Company com=new Company("newcompany.xml");
com.showList();
//com.CreateOne("液晶显示器","200");
//Company com1=new Company("newcompany.xml");
//com1.showList();
com.deleteone("客服部");
Company com2=new Company("newcompany.xml");
com2.showList();
}
}
xml文档格式
<?xml version="1.0" encoding="UTF-8"?><!--内部定义--><公司>
<雇员全职="是"部门="市场部">
<姓名>李东</姓名>
<雇佣日期>2005-01-15</雇佣日期>
<项目清单数量="2">
<项目>
<产品>打印机</产品>
<价格>$111.00</价格>
</项目>
<项目>
<产品>笔记本</产品>
<价格>$9897.00</价格>
</项目>
</项目清单>
</雇员>
</公司>
这句java当中list后面尖括号干什么的
尖括号是'泛型',意思是这个gattServices变量里只能存放 BluetoothGattService这中类型的变量,存放其他的变量就会报错,编译不了.这样做的好处是将运行时的异常转到了编译时,如果不加尖括号的话,你的代码错误在编译时不会提示,在运行时会有异常,这显然不是我们想要的.
java中的尖括号干嘛的,经常函数中见到使用,里面都是类名
尖括号使用来定义泛型的.是JDK1.5的新特性.声明格式为<T>
泛型是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候进行.
举个直观的例子体现泛型的作用.
import java.util.ArrayList;
import java.util.List;
class A
{
public String a="1";
//使用泛型的方法
public List<A> generic()
{
List<A> list= new ArrayList<A>();
list.add(new A());
return list;
}
//未使用泛型的方法
public List unGeneric()
{
List list= new ArrayList();
list.add(new A());
return list;
}
public static void main(String []args)
{
//定义泛型的list,相当于在申明时就预订这个list中只允许存储类型是A的对象,所以在获取list内单个对象时不用进行强制转换
List<A> list= new A().generic();
A a= list.get(0);
System.out.println(a.a);
//不使用泛型定义的list在获取list的对象时就要进行强制转换
List listUn= new A().unGeneric();
A a1=(A)listUn.get(0);
System.out.println(a1.a);
}
}
具体泛型更多的官方知识你可以去百度百科搜一下。
java中,尖括号的强制转换问题
是泛型
通常很多集合类都会以Object做存储对象
通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。
OK,本文到此结束,希望对大家有所帮助。