java常用方法(持续更新...)+一些遇到的问题

String类中方法indexOf

参考:详情

append

起到拼接字符串的功能
在这里插入图片描述

public class Number1 {
	public static void main(String[] args) {
		StringBuffer buf=new StringBuffer("Hard ");
		String aString = "Waxworks";
		StringBuffer app=buf.append(aString,3,4);
		System.out.println(app);
	}
//	public synchronized StringBuffer append(CharSequence s, int start, int end)
//	{
//	super.append(s, start, end);
//	return this;
//	}
	
	
}

显示结果Hard w

charAt,Character.isDigit(char)

public class Number {
	
	public static boolean isNumeric(String str){  

	    for (int i = 0; i < str.length(); i++){  

	        System.out.println(str.charAt(i));  

	        if (!Character.isDigit(str.charAt(i))){  

	            return false;  

	         }  

	    }  

	     return true;  
	}  
	public static void main(String[] args) {
		isNumeric("1gaopeng123");
	}
}

显示:
1
g
附录:

确认字符串输入是否为数字

使用Character.isDigit(char)判断

返回字符串索引的值charAt

返回char指定索引处的值。 指数范围为0至length() - 1 。 该序列的第一个char值在索引0 ,下一个索引为1 ,依此类推,与数组索引一样。
如果char由索引指定的值是surrogate ,则返回所述替代值。

toString

对于String类

public String toString()
返回此对象本身(它已经是一个字符串!)。
返回 字符串本身

System.out.println(s1);// 相当于System.out.println(s1.toString());

对于包装类

基本类型数据转换为String 类型时 ,调用了对应包装类的toString() 方法
int a=10; System.out.println(“a=”+a.toString);

String 与其它类型数据的连接

进行String 与其它类型数据的连接操作时 ,用 自动调用toString() 方法
Date now=new Date();
System.out.println(“now=”+now); 相当于
System.out.println(“now=”+now.toString());

Object中toString()方法

Object中toString()方法的使用:

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

输出对象引用的时候,相当于调用当前对象toString方法

说明

默认调用当前类的类名,哈希code计算堆的地址值转化为16进制,jvm虚拟地址,String类重写过toString方法,Date类也重写了,还有file,包装类也都重写了toString,返回实体内容信息

自定义类也可以重写toString方法,返回对象实体内容信息

instanceof

作用

严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:判断对象obj是否是类class的实例判断obj本质是什么类

boolean result = obj instanceof Class

说明

其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。

注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译具体看运行时定。

如果a instanceof A返回true,则a instanceof B也返回true其中类B是类A的父类,new的是什么,判断之后一定是true

内部原理

把地址原封不动复制过来了,要通过Object类,类型名变化了可以访问Woman类型那部分属性和方法,有风险有可能转换不了,就会报异常ClassCastException
在这里插入图片描述
向下转型要是可以的话,new应该是向下转型的那个对象,new一个子类的对象
在这里插入图片描述

split

str.split([separator[, limit]])

注意:如果使用空字符串(“)作为分隔符,则字符串不是在每个用户感知的字符(图形素集群)之间,也不是在每个Unicode字符(代码点)之间,而是在每个UTF-16代码单元之间。这会摧毁代理对。

参数

  • separator

    指定表示每个拆分应发生的点的字符串。separator 可以是一个字符串或正则表达式 如果纯文本分隔符包含多个字符,则必须找到整个字符串来表示分割点。如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素。如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回。

  • limit

    **一个整数,限定返回的分割片段数量。**当提供此参数时,split 方法会在指定分隔符的每次出现时分割该字符串,但在限制条目已放入数组时停止。如果在达到指定限制之前达到字符串的末尾,它可能仍然包含少于限制的条目。新数组中不返回剩下的文本。

返回值

返回源字符串以分隔符出现位置分隔而成的一个 Array

Java String equals() 方法

equals() 方法用于将字符串与指定的对象比较。
源码分析
equals和==的比较

语法

public boolean equals(Object anObject)

参数

anObject – 与字符串进行比较的对象。

返回值

如果给定对象与字符串相等,则返回 true;否则返回 false。

实例

public class Test {
        public static void main(String args[]) {
                String Str1 = new String("runoob");
                String Str2 = Str1;
                String Str3 = new String("runoob");
                boolean retVal;

                retVal = Str1.equals( Str2 );
                System.out.println("返回值 = " + retVal );

                retVal = Str1.equals( Str3 );
                System.out.println("返回值 = " + retVal );
                //表示String Str1,new String("runoob");两个表示一样
        }
}

以上程序执行结果为:

返回值 = true
返回值 = true

具体代码参考:参考代码

valueOf

下面是代码实例的演示:
包装类、基本数据类型转化为String类型

public class Test{
public static void main(String args[]){
                Integer x =Integer.valueOf(9);
                Double c = Double.valueOf(5);
                Float a = Float.valueOf("80");              

                Integer b = Integer.valueOf("444",16);   // 使用 16 进制

                System.out.println(x);
                System.out.println(c);
                System.out.println(a);
                System.out.println(b);
        }
}

编译以上程序,输出结果为:
9
5.0
80.0
1092

具体用法:
拓展博客
菜鸟教程

Java中 int和Integer的区别+包装类

详情

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值