⑴ java中数组有没有length()方法string没有lenght()方法
java中数组是没有length()方法的,只有length属性,数组array.length返回的是该数组的长度。
字符串String是有length()方法的,str.length()返回的是该字符串的长度。
(1)javastring数组的长度扩展阅读
java数组常用方法:
1、声明一个数组
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
2、打印一个数组
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
3、根据数组创建ArrayList
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
4、判断数组内部是否包含某个值
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
5、连接两个数组
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
6、声明一个内联数组
method(new String[]{"a", "b", "c", "d", "e"})
String常用方法:
1、求字符串某一位置字符
charAt(int index)返回字符串中指定位置的字符;注意字符串中第一个字符索引是0,最后一个是
length()-1。
例如:
String str = new String("asdfzxc");
char ch = str.charAt(4);//ch = z
2、提取子串
用String类的substring方法可以提取字符串中的子串,该方法有两种常用参数:
1)substring(int beginIndex)该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一
个新的字符串返回。
2)substring(int beginIndex, int endIndex)该方法从beginIndex位置起,从当前字符串中取出到
endIndex-1位置的字符作为一个新的字符串返回。
例如:
String str1 = new String("asdfzxc");
String str2 = str1.substring(2);//str2 = "dfzxc"
String str3 = str1.substring(2,5);//str3 = "dfz"
3、字符串比较
1)compareTo(String anotherString)该方法是对字符串内容按字典顺序进行大小比较,通过返回的
整数值指明当前字符串与参数字符串的大小关系。若当前对象比参数大则返回正整数,反之返回负
整数,相等返回0。
2)compareToIgnore(String anotherString)与compareTo方法相似,但忽略大小写。
3)equals(Object anotherObject)//比较当前字符串和参数字符串,在两个字符串相等的时候返回
true,否则返回false。
4)equalsIgnoreCase(String anotherString)//与equals方法相似,但忽略大小写。
例如:
String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a>0
int b = str1.compareToIgnoreCase(str2);//b=0
boolean c = str1.equals(str2);//c=false
boolean d = str1.equalsIgnoreCase(str2);//d=true
4、字符串连接
concat(String str)将参数中的字符串str连接到当前字符串的后面,效果等价于"+"。
例如:
String str = "aa".concat("bb").concat("cc");
相当于String str = "aa"+"bb"+"cc";
⑵ java数组的最大长度是多少
java 中数组的最大长度是多少呢?看一下它的length属性就可以了。length属性是32位的有符号整数,它的最大值是2的31次幂,就是2G。为何有这个限制呢?为什么length的属性不是long型呢?我们假设一下,如果它是long型的,那么它的最大长度是2的63次幂。内存永远也不会有那么大吧。即使是字节数组长度是int的,最大长都达芹培到2GB.
由此想到了String,这个家伙底层也是基于数组的,是一个字符数组。字符是16位的基本类型,一个String的最大长度是多少呢?就是字符数组的最大长度也是2G,占穗旦用内存是4GB。
从JVM的角度来解释:创建数组的字节码是anewarray和newarray,操作数栈的字宽是32位,而这两个字节码的参数都是一个字长,所以无法接受long型的长度嫌族唯参数。不知道这样解释是否很牵强。
⑶ java中如何获取一个未知类型的数组的长度,这个数组可能是int,string,boolean.....的
数组有固定的length属性,通过length就绝搜可并茄历以得知其长度。
intlengthOfArray(Object[]a){
纳伏returna.length;
}
⑷ java字符串最大长度
1.String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE了,2147483647;
又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。所以,发送xml批量的需要在oracle数据库中用clob类型,而在java 端可以用String;
2. ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1");
if (rs.next())
{
java.sql.Clob clob = rs.getClob("CLOBATTR");
inStream = clob.getCharacterStream();
char[] c = new char[(int) clob.length()];
inStream.read(c);
//data是读出并需要返回的数据,类型是String
data = new String(c);
inStream.close();
}
inStream.close();
con.commit();