① java 類型轉換:java.lang.Long cannot be cast to java.lang.String
Integer屬於不可更改類型,而且Long和Integer沒有任何繼承關系,當然不能這樣轉換。解決辦法:
public Integer getUsersCount() {
String hql = "select count(*) from Users";
List list = super.pageQuery(hql, null, null, null);
Number num = (Number) list.get(0);
return num.intValue();
} 123456
② jsp裡面int和long的區別
INT的長度為4位元組,LONG的長度為8位元組
INT的取值范圍為-(2的32次方)至+(2的31次方)
Long的取值范圍是
-(2的64次方)至+(2的64次方),大概是最大值21億左右.
③ java.lang.NumberFormatException: null
應該是你從頁面讀到的數據沒有轉化類型,因為你從頁面讀到的數據默認都是String類型的,如果你本來的類型是int類型你要轉換的
④ 如何在JSP中將字元串轉換成長整型啊
長整形就要用長整形的包裝類,是Long而不是Integer
Long.parseLong(String)返回從字元串中得到的長整形數值
⑤ JAVA中SWITCH為什麼不能使用LONG型作參數
交換機在JAVA中不能使用long的根本原因是長時間轉換為int將失去精度,導致數據不準確,因此JAVA交換機具有不允許長的邏輯規則。
switch語句中的變數類型可以是:byte,short,int或char。從Java SE 7開始,交換機支持字元串String類型,case標記必須是字元串常量或文字。
(5)jsplong轉換int類型擴展閱讀
Switch案例在java中有以下規則:
switch語句可以有多個case語句。每個案例後跟一個值和一個要比較的冒號。
case語句中值的數據類型必須與變數的數據類型相同,並且只能是常量或文字常量。
當變數的值等於case語句的值時,case語句後面的語句開始執行,直到break語句出現跳出switch語句。
遇到break語句時,switch語句終止。程序跳轉到switch語句後的語句執行。 case語句不必包含break語句。如果沒有發生break語句,程序將繼續執行下一個case語句,直到發生break語句。
switch語句可以包含一個默認分支,它通常是switch語句的最後一個分支(可以是任何地方,但建議在最後一個)。當case語句沒有值且變數的值相等時,執行Default。默認分支不需要break語句。
⑥ 在jsp中運用加減乘除需要導入什麼包
看你是怎麼寫了
要是寫
3+2 這樣的,當然不用。
要是用BigDecimal這個類,那就需要導
java.math.BigDecimal
方法摘要
BigDecimal abs()
返回 BigDecimal,其值為此 BigDecimal 的絕對值,其標度為 this.scale()。
BigDecimal abs(MathContext mc)
返回其值為此 BigDecimal 絕對值的 BigDecimal(根據上下文設置進行舍入)。
BigDecimal add(BigDecimal augend)
返回一個 BigDecimal,其值為 (this + augend),其標度為 max(this.scale(), augend.scale())。
BigDecimal add(BigDecimal augend, MathContext mc)
返回其值為 (this + augend) 的 BigDecimal(根據上下文設置進行舍入)。
byte byteValueExact()
將此 BigDecimal 轉換為 byte,以檢查丟失的信息。
int compareTo(BigDecimal val)
將此 BigDecimal 與指定的 BigDecimal 比較。
BigDecimal divide(BigDecimal divisor)
返回一個 BigDecimal,其值為 (this / divisor),其首選標度為 (this.scale() - divisor.scale());如果無法表示准確的商值(因為它有無窮的十進制擴展),則拋出 ArithmeticException。
BigDecimal divide(BigDecimal divisor, int roundingMode)
返回一個 BigDecimal,其值為 (this / divisor),其標度為 this.scale()。
BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
返回一個 BigDecimal,其值為 (this / divisor),其標度為指定標度。
BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
返回一個 BigDecimal,其值為 (this / divisor),其標度為指定標度。
BigDecimal divide(BigDecimal divisor, MathContext mc)
返回其值為 (this / divisor) 的 BigDecimal(根據上下文設置進行舍入)。
BigDecimal divide(BigDecimal divisor, RoundingMode roundingMode)
返回一個 BigDecimal,其值為 (this / divisor),其標度為 this.scale()。
BigDecimal[] divideAndRemainder(BigDecimal divisor)
返回由兩個元素組成的 BigDecimal 數組,該數組包含 divideToIntegralValue 的結果,後跟對兩個操作數計算所得到的 remainder。
BigDecimal[] divideAndRemainder(BigDecimal divisor, MathContext mc)
返回由兩個元素組成的 BigDecimal 數組,該數組包含 divideToIntegralValue 的結果,後跟根據上下文設置對兩個操作數進行舍入計算所得到的 remainder 的結果。
BigDecimal divideToIntegralValue(BigDecimal divisor)
返回 BigDecimal,其值為向下舍入所得商值 (this / divisor) 的整數部分。
BigDecimal divideToIntegralValue(BigDecimal divisor, MathContext mc)
返回 BigDecimal,其值為 (this / divisor) 的整數部分。
double doubleValue()
將此 BigDecimal 轉換為 double。
boolean equals(Object x)
比較此 BigDecimal 與指定的 Object 的相等性。
float floatValue()
將此 BigDecimal 轉換為 float。
int hashCode()
返回此 BigDecimal 的哈希碼。
int intValue()
將此 BigDecimal 轉換為 int。
int intValueExact()
將此 BigDecimal 轉換為 int,以檢查丟失的信息。
long longValue()
將此 BigDecimal 轉換為 long。
long longValueExact()
將此 BigDecimal 轉換為 long,以檢查丟失的信息。
BigDecimal max(BigDecimal val)
返回此 BigDecimal 和 val 的最大值。
BigDecimal min(BigDecimal val)
返回此 BigDecimal 和 val 的最小值。
BigDecimal movePointLeft(int n)
返回一個 BigDecimal,它等效於將該值的小數點向左移動 n 位。
BigDecimal movePointRight(int n)
返回一個 BigDecimal,它等效於將該值的小數點向右移動 n 位。
BigDecimal multiply(BigDecimal multiplicand)
返回一個 BigDecimal,其值為 (this × multiplicand),其標度為 (this.scale() + multiplicand.scale())。
BigDecimal multiply(BigDecimal multiplicand, MathContext mc)
返回其值為 (this × multiplicand) 的 BigDecimal(根據上下文設置進行舍入)。
BigDecimal negate()
返回 BigDecimal,其值為 (-this),其標度為 this.scale()。
BigDecimal negate(MathContext mc)
返回其值為 (-this) 的 BigDecimal(根據上下文設置進行舍入)。
BigDecimal plus()
返回 BigDecimal,其值為 (+this),其標度為 this.scale()。
BigDecimal plus(MathContext mc)
返回其值為 (+this) 的 BigDecimal(根據上下文設置進行舍入)。
BigDecimal pow(int n)
返回其值為 (thisn) 的 BigDecimal,准確計算該冪,使其具有無限精度。
BigDecimal pow(int n, MathContext mc)
返回其值為 (thisn) 的 BigDecimal。
int precision()
返回此 BigDecimal 的精度。
BigDecimal remainder(BigDecimal divisor)
返回其值為 (this % divisor) 的 BigDecimal。
BigDecimal remainder(BigDecimal divisor, MathContext mc)
返回其值為 (this % divisor) 的 BigDecimal(根據上下文設置進行舍入)。
BigDecimal round(MathContext mc)
返回根據 MathContext 設置進行舍入後的 BigDecimal。
int scale()
返回此 BigDecimal 的標度。
BigDecimal scaleByPowerOfTen(int n)
返回其數值等於 (this * 10n) 的 BigDecimal。
BigDecimal setScale(int newScale)
返回一個 BigDecimal,其標度為指定值,其值在數值上等於此 BigDecimal 的值。
BigDecimal setScale(int newScale, int roundingMode)
返回一個 BigDecimal,其標度為指定值,其非標度值通過此 BigDecimal 的非標度值乘以或除以十的適當次冪來確定,以維護其總值。
BigDecimal setScale(int newScale, RoundingMode roundingMode)
返回 BigDecimal,其標度為指定值,其非標度值通過此 BigDecimal 的非標度值乘以或除以十的適當次冪來確定,以維護其總值。
short shortValueExact()
將此 BigDecimal 轉換為 short,以檢查丟失的信息。
int signum()
返回此 BigDecimal 的正負號函數。
BigDecimal stripTrailingZeros()
返回數值上等於此小數,但從該表示形式移除所有尾部零的 BigDecimal。
BigDecimal subtract(BigDecimal subtrahend)
返回一個 BigDecimal,其值為 (this - subtrahend),其標度為 max(this.scale(), subtrahend.scale())。
BigDecimal subtract(BigDecimal subtrahend, MathContext mc)
返回其值為 (this - subtrahend) 的 BigDecimal(根據上下文設置進行舍入)。
BigInteger toBigInteger()
將此 BigDecimal 轉換為 BigInteger。
BigInteger toBigIntegerExact()
將此 BigDecimal 轉換為 BigInteger,以檢查丟失的信息。
String toEngineeringString()
返回此 BigDecimal 的字元串表示形式,需要指數時,則使用工程計數法。
String toPlainString()
返回不帶指數欄位的此 BigDecimal 的字元串表示形式。
String toString()
返回此 BigDecimal 的字元串表示形式,如果需要指數,則使用科學記數法。
BigDecimal ulp()
返回此 BigDecimal 的 ulp(最後一位的單位)的大小。
BigInteger unscaledValue()
返回其值為此 BigDecimal 的非標度值 的 BigInteger。
static BigDecimal valueOf(double val)
使用 Double.toString(double) 方法提供的 double 規范的字元串表示形式將 double 轉換為 BigDecimal。
static BigDecimal valueOf(long val)
將 long 值轉換為具有零標度的 BigDecimal。
static BigDecimal valueOf(long unscaledVal, int scale)
將 long 非標度值和 int 標度轉換為 BigDecimal。