![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
oaimgo
这个作者很懒,什么都没留下…
展开
-
IntDef 和 StringDef 的使用
IntDef 和 StringDef 的使用在 androidx.annotation 中提供了 IntDef 和 StringDef 两个元注解供使用。在如下的应用场景中可以进行使用:需要传入的参数是几个固定值(整形、字符串)中的某一个时,可以使用这两个注解来帮助你在编译时判断参数是否传错。如果不使用注解,常见的做法是使用枚举类。例如有一个设置星期的函数private void setC...原创 2020-05-06 11:35:46 · 2513 阅读 · 3 评论 -
Java接口多继承的问题
1 单继承、多实现Java有一个很重要的特性即单继承,多实现。假设我们有一个子类继承了两个父类,但是两个父类有同名、同返回值、同参数的方法method(),那么当子类调用这个方法的时候,JVM并不知道该执行哪一个方法,所以在绝大多数情况下,Java中是不可以实现多继承的。为了实现类似多继承的功能,Java提供了接口Interface这个神器,我们可以通过实现多个接口来实现相关功能。2 多继...原创 2019-09-09 12:52:27 · 1527 阅读 · 0 评论 -
Java1.8中HashMap的三个细节
0 写在前面的在写这篇文章之前先把Java中HashMap的作者列出来,向他们致敬!/** @author Doug Lea* @author Josh Bloch* @author Arthur van Hoff* @author Neal Gafter* @see Object#hashCode()* @see Collection* @see ...原创 2019-09-06 18:54:09 · 610 阅读 · 3 评论 -
Java中StringBuffer类的常用方法
StringBuffer类提供了很多友好的方法,适合应用于有大量字符串拼接、删除的场景,尤其是多线程下的字符串的拼接、删除与读写。与之相似的一个类是StringBuilder,这个类提供了StringBuffer所有的功能,但是是线程不安全的,在单线程的场景中,它的性能要优于StringBuffer。public class MyStringBuffer { public static ...原创 2019-08-27 11:12:16 · 456 阅读 · 0 评论 -
Java中String类的常用方法
import java.util.Arrays;public class MyString { public static void main(String[] args) { String str ="abcd abcd abcd"; //indexOf():输出指定字符(串)第一次出现的索引,如果没有输出-1 System.out.println(str.indexOf('...原创 2019-08-26 23:37:56 · 141 阅读 · 0 评论 -
关于Java关键字instanceof的理解
在看equals方法的时候注意到了平时没有加以注意的instanceof关键字。官方文档下面是Oracle官方关于这个关键字的说明的链接:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.instanceof大概是这样的:1、obj如果为null,则返回false;否则设S为obj的类...原创 2019-08-25 01:16:38 · 187 阅读 · 0 评论 -
Java中的hashcode()函数的源码实现与分析
这里记录一下几个常见类的Hashcode的计算方法,膜拜一下大神的编程风格与思路。String类:17和31是非常经典的素数,17和31散列码的想法来自经典的Java书籍——《Effective Java》第九条。String类的hashcode源码如下: public int hashCode() { int h = hash; //按照...原创 2019-08-25 00:55:38 · 1128 阅读 · 0 评论 -
java判断一个整数是不是完全平方数
今天被问了这个问题,做了一些思考,下面对这些思路进行整理,我一共整理出4种实现方法。1 遍历平方法这种方法的思路是把比给出的目标数num小的整数都做一次平方运算,如果num等于某一个平方就返回true。这里做了一些优化,及不需要把小于num的数全部计算一次,只需要计算小于等于n的就可以。public static boolean lowIsSquare(int num) { if ...原创 2019-08-20 18:24:39 · 14296 阅读 · 2 评论 -
java使用莱布尼茨公式迭代高精度的圆周率
接着上一篇的门特卡罗方法。又去看了一下几个圆周率的算法,挑了莱布尼茨迭代公式:pi/4=1-1/3+1/5-1/7+1/9……求出来的结果是(100位小数):3.1415926540554545259872230756648344179116320363727376140128713099853213974820294342616300093091457012比起之前的门特卡罗方法...原创 2019-07-06 18:31:13 · 1590 阅读 · 0 评论 -
java暴力计算近似的圆周率(门特卡罗法)
昨天坐在火车上很无聊,就在想怎么计算圆周率,现在计算机的算力这么强,如果用很暴力的方法是不是可以求出很高精度的圆周率呢?带着这个问题,我去做了一下尝试。思路是这样的:在一个半径为1的圆的外接正方形区域里面模拟点,如果这个点在圆的范围内,那么记一次数(ispi),用这个数除以总次数就可以得到pi/4。代码如下:package HowBigIsPi;import java.mat...原创 2019-07-06 17:04:25 · 678 阅读 · 0 评论 -
BigInteger类的使用方法
先看一下JAVA API中对BigInteger的解释:public class BigIntegerextends Numberimplements Comparable<BigInteger>Immutable arbitrary-precision integers. All operations behave as if BigIntegers were repr...原创 2019-06-06 15:49:16 · 1588 阅读 · 0 评论