快捷搜索: 王者荣耀 脱发

Integer.toBinaryString() 的用法

在Integer这个包装类里面有一个toBinaryString的方法,作用是:以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式(类似还有toHexSrting()方法和toOctalString()方法)。 public String substring(int beginIndex, int endIndex) substring() 方法返回字符串的子字符串。 beginIndex – 起始索引(包括), 索引从 0 开始。 endIndex – 结束索引(不包括)。

class Solution {
          
   
	public String findDifferentBinaryString(String[] nums) {
          
   
		HashSet<String> set = new HashSet<>();
		for (String num : nums) {
          
   
			set.add(num);
		}
		for (int i = 0;; i++) {
          
   
			if (!set.contains(Integer.toBinaryString(1 << nums.length | i).substring(1))) {
          
   
				return Integer.toBinaryString(1 << nums.length | i).substring(1);
			}
		}
	}
}

boolean,int,long,double是基本的数据类型,

Boolean,Integer,Long,Double他们是包装类,也就是说他们都是类,都有自己的行为和数据。

JAVA所有的类都默认继承字类Object(即包java.lang.object),包括你自己创建的类。 Boolean,Integer,Long,Double是java.util包中的类,它们是boolean,int,long,double相对应的包装类用以产生对应的对象。 boolean,int,long,double称基本类型,创建后置于stack(堆栈)中,存取速度很快,而其他引用对象创建后置于heap(堆)中,速度没有堆栈快。创建方法不同: int i = 1;//此创建了一个基本类型的int对象。 Integer integer = new Integer();//此创建了一个Integer包装类的引用,在内存中的位置不同。 类似的还有char和Character、float和Float、short和Short、byte和Byte。你要记得后者用于产生对象的引用,而前者直接产生1的基本类型的数据。

经验分享 程序员 微信小程序 职场和发展