java实现的stack pop方法小细节
前些天编小程序,写其中有一个自己实现的stack的pop如下:
public class Stack<T>{
private ArrayList<T> list;
public Stack(){
list = new ArrayList<T>();
}
public T pop(){
if(list.size != 0 ){
T popOut = list.get(list.size - 1);
remove(popOut);
return popOut;
}
else{
return null;
}
}
}
我当时在另一个类里debug,愣是找不出来,最后才发现这里的pop方法出问题了。当list是int数据时,若list为1,2,3,2;pop出来是2,但是list并不如想象中的为1,2,3;而是变成了1,3,2;这是因为double的equals方法认定只要值一样两者就一样,它popPut为2,接着remove(2);它在找到第一个2是就认为那已经匹配了,就把它删除,所以remove中应该用他的重载函数remove(list.size - 1).
当然还应该注意若是int型的他优先将其认为是index而非数据。
相关文档:
1.java连接Oracle数据库:
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@127.0.0.1:1521:全局数据库名";
String uname="用户名";
String pwd="密码";
Connection cn =DriverManager.getConnection(url,uname,pwd);
Statement s=cn.createS ......
在实际应用中,可能会碰到这样的情况,需要在Java代码中执行JavaScript。
例如:
import java.io.IOException;
import java.io.PrintWriter;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public cl ......
http://blog.csdn.net/gztoby/archive/2004/11/11/176737.aspx
1.
应用范围
本规范应用于采用
J2EE
规范的项目中,所有项目中的
JAVA
代码(含
JSP
,
SERVLET
,
JAVABEAN
,
EJB
)均应遵守这个规范。同时,也可作为其它项目的参考。
2.
设计类和方法
2.1
创建具有很强 ......
package dtm.tools;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Calendar;
import java.util.Dat ......