面试题总结

面试题总结

1.”==“与equals方法有什么区别?

== 操作符专门用来比较两个变量的值是否相等,也就是用来比较变量所对应的内存中所存储的数值是否相同。

如果要比较两个基本类型的数据或者两个变量是否相等,只能用 ==操作符。

2. equals方法是用来比较两个独立对象的内容是否相同?

在实际开发中,我们经常使用比较传递进来的字符串内容是否相等。
注意:字符串的比较基本上都是使用equals方法。
总结:"=="是用于比较两个变量的值,equals 是用于比较两个对象内容的

3.final在java中有什么作用?

final修饰的类叫最终类,该类不能被继承。
final修饰的方法不能被重写。
final修饰的变量叫常量,常量必须初始化,初始化之后就不能被修改。
总结:Java关键字,终态修饰符,类不可继承,属性不可修改,方法不可重写

4.String属于基础的数据类型吗?

String不属于基础类型,基础类型有8种:byte,boolean,char,short,int,float,long,double,而String属于对象。

5.String类的常用方法都有哪些?

(1)equals(Object obj):比较字符串的内容是否相同
(2)equalsIgnoreCase(String anotherString):比较字符串的内容是否相同,忽略大小写
(3)charAt(int index):获取指定索引处的字符
(4)indexOf(String str):获取str在字符串对象中第一次出现的索引
(5)substring(int start):从start开始截取字符串
(6)String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
(7)length():获取字符串的长度,其实也就是字符个数
(8)isEmpty():判断指定字符串是否为空
(9)toCharArray():把字符串转换为字符数组
(10)toLowerCase():把字符串转换为小写字符串
(11)toUpperCase():把字符串转换为大写字符串
(12)trim():去除字符串两端空格
(13) split():去除字符串中指定的的字符,然后返回一个新的字符串
(14) subSequence(int beginIndex,int endIndex ):截取字符串中指定位置的字符组成一个新的字符串
(15) replace(char oldChar, char newChar):将指定字符替换成另一个指定的字符
(16) replace All(String regex,String replasement):用新的内容替换全部旧内容
(17) replaceFirst(String regex,String replacement):替换首个满足条件的内容
(18) lastIndexOf(String str):返回指定字符出现的最后一次的下标
(19) contains(CharSequence s):查看字符串中是都含有指定字符
(20)concat(String str):在原有的字符串的基础上加上指定字符

6.Files的常用方法都有哪些?

1.创建:
createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。
mkdir() 在指定位置创建一个单级文件夹。
mkdirs() 在指定位置创建一个多级文件夹。
renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹。

2.删除:
delete() 删除文件或者一个空文件夹,不能删除非空文件夹,马上删除文件,返回一个布尔值。
deleteOnExit()jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。

3.判断:
exists() 文件或文件夹是否存在。
isFile() 是否是一个文件,如果不存在,则始终为false。
isDirectory() 是否是一个目录,如果不存在,则始终为false。
isHidden() 是否是一个隐藏的文件或是否是隐藏的目录。
isAbsolute() 测试此抽象路径名是否为绝对路径名。

4.获取:
getName() 获取文件或文件夹的名称,不包含上级路径。
getAbsolutePath()获取文件的绝对路径,与文件是否存在没关系
length() 获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。
getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
lastModified()获取最后一次被修改的时间。

5.文件夹相关:
static File[] listRoots()列出所有的根目录(Window中就是所有系统的盘符)
list() 返回目录下的文件或者目录名,包含隐藏文件。对于文件这样操作会返回null。
listFiles() 返回目录下的文件或者目录对象(File类实例),包含隐藏文件。对于文件这样操作会返回null。
list(FilenameFilter filter)返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
listFiles(FilenameFilter filter)返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。

7. http 响应码 301 和 302 代表的是什么?有什么区别?

301:永久重定向。
302:暂时重定向。
它们的区别是,301 对搜索引擎优化(SEO)更加有利;302 有被提示为网络拦截的风险。

8. 常见的HTTP状态码:

200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误

   ==和equals方法究竟有什么区别?   == 操作符专门用来比较两个变量的是否相等,也就是用于比较变量所对应的内存中所存储的数是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。   如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数是否相等,这时候就需要用==操作符进行比较。   equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。例如,对于下面的代码:     String a=new String("foo");     String b=new String("foo");   两条new语句创建了两个对象,然后用a,b这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a和b中存储的数是不相同的,所以,表达式a==b将返回false,而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值