• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

标签:Java

Java集合、数组与泛型中的几个陷阱,你掉进了几个?

 下面我总结了集合、泛型、数组转集合等一些常见的陷进,认真看完,相信你绝对有所收获。1、List ,List<?> 与 List<Object> 有区别吗?说实话,我敢保证很多人是不知道 List, List<?> 与 List<Object> 之间的区别的。1、我们先来看看 List 与 ……

Java 常见的 30 个误区与细节!

1、在Java中,没有goto语句。因为大量使用goto语句会降低程序的可读性和可维护性,所以Java语言取消了goto的使用。同时,为了避免程序员自行使用goto所带来的混乱,Java语言仍将goto定义为一个关键字,但是没有定义任何语法,故称为“保留字”。2   true、false和null在IDE中虽然以不同的颜色显示,但是并不是关键字,……

浅析Java中的final关键字

  谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:  一.final关键字的基本用法  二.深入理解final关键字  若有不正之处,请多多谅解并欢迎指正。 一.f……

重写与重载

Java四大基本特性中在介绍「多态性」时,提到过编译时多态和运行时多态。编译时多态是由方法重载来实现的,而运行时多态是由方法重写来实现的。建议重点关注Java中 「重写与重载构成的基本条件」 相关问题。什么是重载和重写?重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载。重写发生在……

String类的12个常用方法

1、用字符数组value创建一个String对象方法:publicString(char[] value)实例:char[] value ={“a”,“b”,“c”,“d”};String str = new String(v……

Java枚举(enum)七种常见的用法

DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。publicenum Color {   ……

Java中的6颗语法糖

语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段就自动转换成简单常用语法。一般来……

hashCode和identityHashCode的区别你知道吗?

hashCode关于hashCode参考之前的文章,点击参考之前文章。identityHashCodeidentityHashCode是System里面提供的本地方法,java.lang.System#identityHashCode。/** * Returns the same hash code for th……

一步到位,带你彻底搞懂Java的值传递和引用传递

本文旨在用最通俗的语言讲述最枯燥的基本知识学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java只有值传递,有的博客说两者皆有;这让人有点摸不着头脑,下面我们就这个话题做一些探讨,对书籍、对论……

Java 中关于 String 类型的 10 个问题

1. 如何比较两个字符串?用“=”还是equals简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你想检测俩字符串是不是相等的,你就必须得用equals()方法。如果你知道“字符串保留(string intern)”的概念那就更好了。2. 为什么安全敏感的字符串……

Java中的null到底是什么?

让我们从下面的陈述开始:1. 这句话到底是什么意思?回想一下什么是变量,什么是值。一个常见的比喻是变量类似于一个盒子。就像您可以使用一个框来存储某些东西一样,您也可以使用一个变量来存储一个值。在声明变量时,我们需要设置它的类型。Java中有两大类类型:原语类型和引用类型。声明为基元类型……

Java习惯用法总结

在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的。在本文中,我会尽量收集一些最常用的习惯用法,特别是很难猜到的用法。1. 实现equals()class Person {  String name;  int birthYear;  byte[] raw;   public boolean equal……

java enum(枚举)使用详解 + 总结

enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中。原始的接口定义常量publicinterface IConstants {    String MON = “Mon”;    String TUE = “Tue”;……

浅谈在Java开发中的枚举的作用和用法

从没有枚举的时代说起在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量。例如:package com.fhp.enumexample;public class Entity {    public static final int VIDEO = 1;//视频    public static final int A……

注意:字符串substring方法在jkd6,7,8中的差异。

标题中的substring方法指的是字符串的substring(int beginIndex, int endIndex)方法,这个方法在jdk6,7是有差异的。substring有什么用?substring返回的是字符串索引位置beginIndex开始,endIndex-1结束的字符串。来看这个例子:String x ="ab……

Java 反转字符串的 10 种方法

在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。1. 使用 + (String连接) 操作符package net.javaguides.corejava.string;/** *  * @author Rames……

Java序列化与反序列化的底层实现

在深拷贝与浅拷贝中,提到可以采用「序列化与反序列化」的方式来实现深拷贝,今天主要来填一下序列化的坑。其中,序列化是一种对象持久化的手段,普遍应用于网络传输和远程方法调用(RMI)等场景中,建议关注。什么是Java序列化和反序列化?参考答案:在Java中,序列化是指将Java对象转换为字节序列的过程,而反序列化是指将字节序列转换为Java……

Java中的基本数据类型转换(自动、强制、提升)

Java中的基本数据类型转换(自动、强制、提升) 原创: R哥 Java技术栈 Java技术栈不可错过的 Java 技术公众号 说基本数据类型转换之前,先了解下 Java 中的 8 种基本……

Java随机数探秘

1 前言一提到 Java 中的随机数,很多人就会想到 Random,当出现生成随机数这样需求时,大多数人都会选择使用 Random 来生成随机数。Random 类是线程安全的,但其内部使用 CAS 来保证线程安全性,在多线程并发的时候它的表现是存在优化空间的。在 JDK1.7 之后,Java 提供了更好的解决方案 ThreadLocalRando……

Java提高篇——对象克隆(复制)

本文目录为什么要克隆?如何实现克隆浅克隆和深克隆解决多层克隆问题总结假如说你想复制一个简单变量。很简单:int apples = 5;  int pears = apples;不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,doub……

Java字符串的十大问题

大约在几个月之前阅读完一本书籍,突然有了一个想法。想把关于字串符的一些问题写出来,目的是告诉大家需要关注的点。这就是想和大家分享的关于Java字符串的10个常见问题。一、如何比较字符串?使用”==”还是使用= ()?简单地说,“==”测试引用是否相等,而equals()测试值是否相等。除非你……

Java中堆和栈的区别

堆和栈都是Java用来在RAM中存放数据的地方。堆(1)Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。(2)堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运行时动态分配的。但缺点是,由于需要在运行时动态分配内存,所以存取速度较慢。  ……

科普:String hashCode 方法为什么选择数字31作为乘子

1. 背景某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCode 的实现,发现并不是很复杂。但是我从源码中发现了一个奇怪的数字,也就是本文的主角31。这个数字居然不是用常量声明的,所以没法从字面意思上推断这个数字的用途。后来带着疑问和好奇心,到网上去找资料查询一下。在看完资料后,默默的感叹了……

浅析Java中的访问权限控制

今天我们来一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制。考虑两个场景:  场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理?  场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1、fun2,工程师只想……

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00