我准备了一个简单的代码片段,以便将错误的部分与我的Web应用程序分开.
public class Main {
public static void main(String[] args) throws IOException {
System.out.print("\nEnter a string:->");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String temp = br.readLine();
String words[] = temp.split(".");
for (int i = 0; i < words.length; i++) {
System.out.println(words[i] + "\n");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在构建Web应用程序JSF时测试了它.我只是想知道为什么在上面的代码temp.split(".")中不起作用.该声明,
System.out.println(words[i]+"\n");
Run Code Online (Sandbox Code Playgroud)
在控制台上不显示任何内容意味着它不会通过循环.当我将temp.split()方法的参数更改为其他字符时,它像往常一样正常工作.可能是什么问题?
通常,最终的静态成员,尤其是变量(或者当然,静态最终,它们可以按顺序使用而不重叠含义)与Java中的接口一起广泛使用,以定义实现类的协议行为,这意味着实现的类(继承)接口必须包含该接口的所有成员.
我无法区分最终和最终的静态成员.最终的静态成员是一个声明为final或其他东西的静态成员?具体情况应该在哪些特定情况下使用?
静态变量或最终静态变量永远不能在静态方法内部或实例方法内部的方法内声明.为什么?
如果尝试编译它,则不会编译以下代码段,并且编译器将发出编译时错误.
public static void main(String args[])
{
final int a=0; //ok
int b=1; //ok
static int c=2; //wrong
final static int x=0; //wrong
}
Run Code Online (Sandbox Code Playgroud) 通常,最终变量只需初始化一次.不允许其他初始化.如果是这样的话,当在方法内声明最终变量时会发生什么.假设在其中声明最终变量的方法被调用/调用三次,方法中该最终变量的声明语句被执行三次,并且最终变量应该被初始化三次,这在Java中是非常特殊的.在这种情况下,编译器如何在方法中维护最终变量?
Java中的以下简单程序使用java.util.Random该类,以便始终显示"hello world".代码片段如下所示.
package nomain;
import java.util.Random;
final public class J
{
public static String randomString(int seed)
{
Random rand = new Random(seed);
StringBuilder sb = new StringBuilder();
for(int i=0;;i++)
{
int n=rand.nextInt(27);
if (n==0)
{
break;
}
sb.append((char) ('`'+n));
}
return sb.toString();
}
public static void main(String args[])
{
System.out.println(randomString(-229985452)+' '+randomString(-147909649));
}
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,它总是显示"hello world",即使使用Random类导致随机数生成,因此每次运行时应更改数字,相应的字符应相应更改,但始终只显示一个稳定的字符串,如上所述"hello world".为什么会这样?
虽然java.io.Serializable接口public interface Serializable{}令人惊讶地不包含Java中的任何方法和字段,但实现此接口的类能够实现序列化和反序列化的功能(被序列化或反序列化的对象的状态).如何在Java中没有任何方法或字段的情况下实现序列化和反序列化的功能?
以下简单的代码片段工作正常,并使用null对象访问静态字段.
final class TestNull
{
public static int field=100;
public TestNull temp()
{
return(null);
}
}
public class Main
{
public static void main(String[] args)
{
System.out.println(new TestNull().temp().field);
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,System.out.println(new TestNull().temp().field);静态字段字段与NULL对象关联的语句new TestNull().temp()仍然返回正确的值100,而不是在Java中抛出空指针异常!为什么?
我正在使用NetBeans 6.9.1使用Spring/Hibernet.我正在尝试阅读Excel文件(.xlsx- Office 2007).使用a Vactor存储Excel工作表中的数据,用于读取Excel文件的代码如下所示.
import java.io.FileInputStream;
import java.util.Iterator;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.NewHibernateUtil;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.hibernate.Session;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
private Vector importExcelSheet(ModelAndView mv)
{
Vector cellVectorHolder = new Vector();
try
{
HSSFWorkbook myWorkBook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream("E:/Project/SpringHibernet/MultiplexTicketBookingNew/web/excelSheets/Country.xlsx")));
HSSFSheet mySheet = myWorkBook.getSheetAt(0);
Iterator rowIter = mySheet.rowIterator();
System.out.println(mySheet.getRow(1).getCell(0));
while(rowIter.hasNext())
{
HSSFRow myRow = (HSSFRow) rowIter.next();
Iterator cellIter = myRow.cellIterator();
Vector cellStoreVector=new Vector();
while(cellIter.hasNext())
{ …Run Code Online (Sandbox Code Playgroud) 我们来看看Java中的以下简单代码片段.
interface Sum
{
abstract public void showSum();
}
interface Mul
{
abstract public void showMul();
}
abstract class Super implements Sum
{
protected int x;
protected int y;
public Super(int x, int y)
{
this.x=x;
this.y=y;
}
//No error, though the method showSum() of the implementing iterface Sum is commented. Why?
/*public void showSum()
{
System.out.println("Sum = "+(x+y));
}*/
}
final class Calculation extends Super implements Mul
{
public Calculation(int x, int y)
{
super(x,y);
}
public void showSum() …Run Code Online (Sandbox Code Playgroud) 我的日期如下.
$discount_start_date='03/27/2012 18:47';
$start_date=new DateTime($discount_start_date);
$start_date->format('Y/m/d H:i:s');
Run Code Online (Sandbox Code Playgroud)
如何将它转换为PHP中的字符串,以便它可以存储到MySql中?我来自Java背景,对PHP很新.
我需要<select></select>使用复选框填充下拉列表(HTML ).我试图使用<div></div>标记显示这样的列表并在JSP页面中应用一些样式,但它显示了一个列表框之类的列表.下面是JSP页面中的代码以及Javascript,它只是在单击页面上的唯一按钮时警告已检查的语言列表.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Check box list</title>
</head>
<script type="text/javascript" language="javascript">
function selectCheckBox()
{
var total="";
for(var i=0; i < document.form.languages.length; i++)
{
if(document.form.languages[i].checked)
{
total +=document.form.languages[i].value + "\n";
}
}
if(total=="")
{
alert("select checkboxes");
}
else
{
alert("Selected Values are : \n"+total);
}
}
</script>
<body>
<form id="form" name="form" method="post" action="CheckBox.jsp">
<div style="overflow: auto; width: 100px; height: 80px; border: 1px …Run Code Online (Sandbox Code Playgroud) java ×8
apache-poi ×1
checkbox ×1
excel ×1
javascript ×1
jsp ×1
php ×1
random ×1
split ×1
string ×1