精华内容
下载资源
问答
  • java定义全局集合
    千次阅读
    2021-03-06 22:03:27

    2018-06-07 回答

    在一个全局类里面定义公共静态变量

    public class global

    {

    public static int abc = 0;

    public static int def = 0;

    }

    ------解决方案--------------------

    /**

    *

    title: global

    *

    description: 定义系统中使用的常量

    *

    copyright: copyright (c) 2004

    *

    company: hptec

    * @author ihavegotyou

    * @version 1.0,2004/1/12

    */

    public interface global {

    string time_format= "yyyy-mm-dd hh:mm:ss "; //时间格式

    string key_config= "infoservice-admin "; //系统配置文件的名字

    string app_config= "infoservice-app "; //应用程序配置文件

    char split_char= '. ';

    string board_message= "borad.message "; //board.jsp显示的操作信息

    string error_message= "您的操作失败! ";

    string success_message= "您的操作成功! ";

    string hibernate_session_factory= "hibernate.sessionfactory ";

    int pagesize=20;

    string request_sendmessage= "request_sendmessage ";

    //存放由action生成的业务结果放入request.setattribute(???,var)

    string table_paydetail_list= "table.paydetail.list ";

    string table_messageout_list= "table.messageout.list ";

    string table_messagein_list= "table.messagein.list ";

    string table_message_list= "table.message.list ";

    string table_content_list= "table.content.list ";

    string table_service_list= "table.service.list ";

    string table_user2service_list= "table.user2service.list ";

    string table_user2serviceold_list= "table.user2serviceold.list ";

    string table_service_record= "table.service.record ";

    string table_user_record= "table.user.record ";

    string infomessageout_and_report= "table.messageout.and.report.record ";

    string table_limituser_list= "table.limituser.list ";

    string table_limitcontent_list= "table.limitcontent.list ";

    //存放由action生成的业务结果的相关信息request.setattribute(???,var)

    string query_info_content_list= "query.info.content.list ";

    string query_info_user2service_list= "query.info.user2service.list ";

    string query_info_user2serviceold_list= "query.info.user2serviceold.list ";

    string query_info_service_list= "query.info.service.list ";

    string query_info_messageout_list= "query.info.messageout.list ";

    string query_info_messagein_list= "query.info.messagein.list ";

    string query_info_message_list= "query.info.message.list ";

    string query_info_paydetail_list= "query.info.paydetail.list ";

    string query_limituser_list= "query.limituser.list ";

    string query_limitcontent_list= "query.limitcontent.list ";

    string query_tcsubservicebysp_list= "query.tcsubservicebysp.list ";

    string query_tcsubservicebyuserid_list= "query.tcsubservicebyuserid.list ";

    }

    //接口中的变量默认是final static的来自www.myexception.cn  网友分享

    更多相关内容
  • JAVA全局变量

    2022-05-28 23:57:51
    java中的全局变量是由public修饰的static成员变量,形如public static int ID; java中的全局变量是放在静态方法区中的,所有的实例对象会共享同一份全局变量。所以一旦对某个类实例化后对其中的全局变量做出修改,...

    java中的全局变量是由public修饰的static成员变量,形如public static int ID;
    java中的全局变量是放在静态方法区中的,所有的实例对象会共享同一份全局变量。所以一旦对某个类实例化后对其中的全局变量做出修改,那么其他的实例其中的全局变量值也相应的会被修改。
    定义了一个测试类如下:

    package TEST;
    
    public class ClassTest {
    	public static int id;
    	public static int name;
    	
    	public static int getId() {
    		return id;
    	}
    	public static void setId(int id) {
    		ClassTest.id = id;
    	}
    	public static int getName() {
    		return name;
    	}
    	public static void setName(int name) {
    		ClassTest.name = name;
    	}
    	
    
    }
    

    调用此类创建实例化对象,为其中的全局变量赋值。

    package TEST;
    
    public class ClassTestExample {
    	public static void main(String[] args) {
    		
    		ClassTest test1 = new ClassTest();
    		ClassTest test2 = new ClassTest();
    		test1.setId(1);
    		System.out.println(test1.getId());
    		System.out.println(test2.getId());
    		
    	}
    
    }
    

    在这里插入图片描述
    执行结果如图所示,对其中一个实例进行赋值之后,其他实例对象全局变量也相应的被修改。

    展开全文
  • 1. 集合定义什么是集合呢?定义集合是一个存放对象的引用的容器。在Java中,集合位于java.util包下。2. 集合和数组的区别(面试常问)提到容器,就会想起数组,那么集合和数组的区别是什么呢?(这里是重点,面试...

    1. 集合的定义

    什么是集合呢?

    定义:集合是一个存放对象的引用的容器。

    在Java中,集合位于java.util包下。

    2. 集合和数组的区别(面试常问)

    提到容器,就会想起数组,那么集合和数组的区别是什么呢?(这里是重点,面试可能问的比较多)

    数组和集合都是Java中的容器

    数组的长度是固定的,集合的长度是可变的

    数组只能存储相同数据类型的数据,这里的数据类型可以是基本数据类型,也可以是引用类型

    集合可以存储不同数据类型的对象的引用(但一般情况下,我们会使用泛型来约定只使用1种数据类型),但不能存储基本数据类型

    空口无凭,我们来点代码配合理解,首先,我们看下如下的数组代码:

    String[] platformArray = new String[3];

    platformArray[0] = "博客园";

    platformArray[1] = "掘金";

    platformArray[2] = "微信公众号";

    platformArray[3] = "个人博客";

    运行代码就会发现,platformArray[3] = "个人博客";会引发java.lang.ArrayIndexOutOfBoundsException异常。

    而使用集合时就不存在这个问题,因为集合在声明时不需要指定长度并且长度会根据放入元素的多少而变化:

    List platformList = new ArrayList<>();

    platformList.add("博客园");

    platformList.add("掘金");

    platformList.add("微信公众号");

    platformList.add("个人博客");

    观察上面声明数组的代码,我们可以推断出下面的代码肯定是编译不通过的:

    String[] platformArray = new String[3];

    platformArray[0] = "博客园";

    platformArray[1] = "掘金";

    platformArray[2] = 1;

    因为数组声明时用的是String类型,而platformArray[2] = 1;赋值时却使用了int类型。

    再来看下下面的集合代码:

    List intList = new ArrayList();

    intList.add(1);

    intList.add(2);

    intList.add(3);

    这段代码也是编译不通过的,在IDEA中,鼠标悬停时会提示如下的错误信息:

    5e67e1265ca7194c3d56c1cfcef7dce3.png

    意思是类型参数不能是原始类型(基本数据类型),那怎么使用呢?总不能不让我使用int型的集合吧?

    当然不会,Java为每种基本数据类型都提供了对应的包装类,这里修改为int类型对应的包装类Integer即可:

    List intList = new ArrayList();

    intList.add(1);

    intList.add(2);

    intList.add(3);

    以下为Java的原始类型(基本数据类型)与其对应的包装类:

    原始类型(基本数据类型)

    包装类

    byte

    Byte

    short

    Short

    int

    Integer

    long

    Long

    float

    Float

    double

    Double

    char

    Character

    boolean

    Boolean

    3. 集合的分类

    在Java中,集合主要分为以下3种:

    List集合

    Set集合

    Map集合

    它们之间的继承关系可以参考下图。

    d770be92a05060a199602bee0641209f.png

    从上图可以总结出如下几点:

    Java集合的根接口是Collection,它又继承了迭代接口Iterable

    List接口和Set接口继承了Collection接口

    Map接口是独立的接口,并没有继承Collection接口 (这里是重点,面试可能问的比较多)

    List接口常用的实现类有:ArrayList、LinkedList、Vector

    Set接口常用的实现类有:HashSet、LinkedHashSet、TreeSet

    Map接口常用的实现类有:HashMap、HashTable、TreeMap

    4. List集合

    List集合包括List接口以及List接口的所有实现类。List集合具有以下特点:

    集合中的元素允许重复

    集合中的元素是有顺序的,各元素插入的顺序就是各元素的顺序

    集合中的元素可以通过索引来访问或者设置

    List接口常用的实现类有:ArrayList、LinkedList、Vector。

    我们先看下如下示例了解下List集合的用法:

    package collection;

    import java.util.*;

    public class Muster {

    public static void main(String[] args) {

    List strList = new ArrayList<>();

    strList.add("a");

    strList.add("b");

    strList.add("c");

    int i = (int) (Math.random() * strList.size());

    System.out.println("随机获取数组中的元素:" + strList.get(i));

    strList.remove(2);

    System.out.println("将索引为2的元素从列表移除后,数组中的元素是:");

    for (int j = 0; j < strList.size(); j++) {

    System.out.println(strList.get(j));

    }

    }

    }

    以上代码的输出结果为:

    随机获取数组中的元素:a

    将索引为2的元素从列表移除后,数组中的元素是:

    a

    b

    关于List集合的详细用法,ArrayList、LinkedList、Vector的区别(这里是重点,面试可能问的比较多),后续会单独写文总结,敬请期待。

    5. Set集合

    Set集合包括Set接口以及Set接口的所有实现类。Set集合具有以下特点:

    集合中不包含重复元素(你可以重复添加,但只会保留第1个)

    集合中的元素不一定保证有序

    Set接口常用的实现类有:HashSet、LinkedHashSet、TreeSet。

    我们先看下如下示例了解下Set集合的用法:

    package collection;

    import java.util.*;

    public class Muster {

    public static void main(String[] args) {

    Set platformList = new HashSet<>();

    platformList.add("博客园");

    platformList.add("掘金");

    platformList.add("微信公众号");

    platformList.add("个人博客");

    // 尝试添加重复元素

    platformList.add("博客园");

    platformList.add("掘金");

    for (String platform : platformList) {

    System.out.println(platform);

    }

    }

    }

    以上代码的输出结果为:

    博客园

    个人博客

    掘金

    微信公众号

    可以看出,虽然我们尝试添加了重复元素,但并没有添加成功并且输出的元素没有顺序。

    因此当你的集合中不允许有重复元素并且对排序也没有要求的话,可以使用Set集合。

    关于Set集合的详细用法,HashSet、LinkedHashSet、TreeSet的区别(这里是重点,面试可能问的比较多),后续会单独写文总结,敬请期待。

    6. Map集合

    Map集合包括Map接口以及Map接口的所有实现类。Map集合具有以下特点:

    Map接口并没有继承Collection接口,提供的是key到value的映射

    Map中不能包含相同的key

    Map接口常用的实现类有:HashMap、HashTable、TreeMap。

    我们先看下如下示例了解下Map集合的用法:

    package collection;

    import java.util.*;

    public class Muster {

    public static void main(String[] args) {

    Map platformMap = new HashMap<>();

    platformMap.put(1, "博客园");

    platformMap.put(2, "掘金");

    platformMap.put(3, "微信公众号");

    platformMap.put(4, "个人博客");

    // 尝试添加重复Map

    platformMap.put(4, "个人博客");

    // 获取所有的key

    Set keys = platformMap.keySet();

    for (Integer integer : keys) {

    System.out.println("Key:" + integer + ",Value:" + platformMap.get(integer));

    }

    }

    }

    以上代码的输出结果为:

    Key:1,Value:博客园

    Key:2,Value:掘金

    Key:3,Value:微信公众号

    Key:4,Value:个人博客

    从日志可以看出,当我们尝试重加重复Map时,并没有添加成功。

    关于Map集合的详细用法,HashMap、HashTable、TreeMap的区别(这里是重点,面试可能问的比较多),后续会单独写文总结,敬请期待。

    7. 源码及参考

    展开全文
  • Java编程中如何定义全局常量

    万次阅读 2018-09-12 23:30:43
    Class定义常量方法(推荐方法) //final修饰符 public final class Constants { //私有构造方法 private Constants() {} public static final int ConstantA = 100; public static final int ConstantB = 100...

    Class定义常量方法(推荐方法)

    //final修饰符
    public final class Constants {
        //私有构造方法
        private Constants() {}
    
        public static final int ConstantA = 100;
        public static final int ConstantB = 100;
        ......
    }
    

    采用“类.常量名”方法进行调用。需要私有化构造方法,避免创建该类的实例。同时不需让其他类继承该类。

    如果多处需要访问工具类中定义的常量,可以通过静态导入(static import)机制,避免用类名来修饰常量名。

    Interface定义常量方法

    public interface Constants {
        int ConstantA = 100;
        int ConstantB = 100;
        ......
    }
    

    在interface中声明的字段,虚拟机在编译时自动加上public static final修饰符。使用方法一般是“接口.常量名”。也可以通过实现该接口,直接访问常量名,即常量接口模式。

    常量接口:即接口中不包含任何方法,只包含静态的final域,每个域都导出一个常量。使用这些常量的类实现这个接口,以避免用类名来修饰常量名。

    常量接口模式是对接口的不良使用。具体参考如下:

    The constant interface pattern is a poor use of interfaces. That a class uses some constants internally is an implementation detail. Implementing a constant interface causes this implementation detail to leak into the class's exported API. It is of no consequence to the users of a class that the class implements a constant interface. In fact, it may even confuse them. Worse, it represents a commitment: if in a future release the class is modified so that it no longer needs to use the constants, it still must implement the interface to ensure binary compatibility. If a nonfinal class implements a constant interface, all of its subclasses will have their namespaces polluted by the constants in the interface.

    There are several constant interfaces in the java platform libraries, such as java.io.ObjectStreamConstants. These interfaces should be regarded as anomalies and should not be emulated.

    区别

    上述两种方法对比,interface中定义常量方法生成的class文件比第一种方法的class文件更小, 且代码更简洁, 效率更高.

    但是在java中会产生问题,主要是java的动态性,java中一些字段的引用可以在运行期动态进行。某些场景下,部分内容改变可只进行部分编译。具体例子参考文档Java Interface 是常量存放的最佳地点吗?

    该文推荐使用Class定义常量,但采用private修饰符,通过get方法获取常量。这种方案可以保证java的动态性。

    public class A{
        private static final String name = "bright";
        public static String getName(){
            return name;
        }

    补充一个简单地例题。

    温度转换

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Submit Statistic

    Problem Description

    输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9。

    Input

    输入数据只有一个实数,即华氏温度。

    Output

    输出数据只有一个,即摄氏温度,保留2位小数。

    Sample Input

    32.0

    Sample Output

    0.00

    Hint

     

    Source

    import java.util.Scanner;
    
    public class Main {
    
    	private static final double PI = 3.1415926535;
    
    	public static void main(String[] args) {
    		
    		Scanner in = new Scanner(System.in);
    		int r,h;
    		double dc,ds,cs,v;
    		r = in.nextInt();
    		h = in.nextInt();
    		dc = 2 * PI * r;
    		ds = PI * r * r;
    		cs = dc * h;
    		v = ds * h;
    		System.out.printf("%.2f %.2f %.2f %.2f\n",dc,ds,cs,v);
    		}
    	}

    其中,下面的截图就是我需要的全局常量

     

     

    PS.顺口吐槽一下变态的线代老师,祝您越来越强(秃)。

    展开全文
  • 如何在Java定义常量

    千次阅读 2021-02-12 20:22:24
    围绕JAVA中的常量主题似乎存在很多混淆,有的人使用整数或字符串来定义常量,而有的人则使用枚举。我还遇到了在自己的接口中定义的常量 —— 使用常量的类必须实现接口。该策略通常被称为界面常量设计模式。在本文中...
  • Java常量定义方法汇总

    千次阅读 2021-03-04 03:24:56
    Java常量定义方法汇总时间:2017-06-13来源:华清远见JAVA学院实际工作开发中,我们经常会使用到常量。那么Java常量如何定义呢?Java常量定义的规范是什么?定义Java常量又有哪些注意事项呢?今天华清Java学院小编整理...
  • Java全局变量争议小集合

    千次阅读 2014-06-16 00:21:27
    1、单独写一个final的类,在里面定义final static的全局变量,在其它程序里包含进来就可以了。 2、类中的任何static public的成员变量都是全局共享的。 3、JAVA中不应该有所谓全局变量的概念,全局变量严重...
  • Java中关于Map的九大问题

    千次阅读 2021-03-17 19:10:34
    1、将Map转换为List类型在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set.。它们都可以通过构造方法或者addAll()方法来转换为List类型。下面代码就说明了如何从Map中构造A...
  • 6种方法初始化JAVA中的list集合

    千次阅读 2021-02-12 18:28:03
    List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下。1、常规方式List languages = new ArrayList<>();languages.add("Java...
  • 集合是用于存放对象的容器,而集合类是 Java 的一种数据结构,常用的集合定义java.util 包中。 需要注意的是,集合类只能存放对象,不能存放基本数据类型,且是对象的引用,而非对象本身。 好处 提供高效的的...
  • java中声明一个全局得list变量得写法

    千次阅读 2019-09-11 16:58:28
  • Java全局统一返回处理

    千次阅读 2020-12-21 14:26:35
    新项目中不希望每次返回参数还要重新封装再返回,希望直接将查询数据或者返回数据统一定义进行返回,所以将新项目中的全局统一返回配置记录,备忘。同时分享给有需要的码友。(例:查询出来的对象集合直接返回,会...
  • java.util下的Collections类自带了三个类变量:EMPTY_MAP、EMPTY_LIST、EMPTY_SET,被static跟final修饰,全局唯一且不可更改 当业务判断需要返回空集合的时候不用手动去new集合,直接调用Collections的静态方法...
  • java中关于Map的九大问题

    千次阅读 2021-03-17 19:10:31
    java中关于Map的九大问题IT IT哈哈通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的。下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题。0、将Map转换为List类型在java中Map接口...
  • 大家都知道,局部变量是存在于栈里的,随着方法的调用而产生,随着方法的执行完毕而消失,因为栈是线程私有的,所以局部变量也是线程安全的。那成员变量又是存在于哪里呢,网上有的说是在堆里,有的说在方法区里,...
  • 问题简介在Java当中,若希望在创建数组的同时给数组赋值很简单,可以想下面这样:int[] num = {1,2,3};String strs = {"a", "b", "c"}但是,如果我们创建List集合,或者Map集合时,也想快速地为它赋初始值,应当如何...
  • Java Swing 设置全局的字体

    万次阅读 多人点赞 2019-07-01 14:12:05
    最近写一个java的GUI,感觉不管是awt还是swing的默认字体都是不和我意,不得不自己设置字体;但是因为组件多,如果全部都有一个个加字体(像下面这样)就感觉很麻烦,代码也很冗余,所以就想着有没有办法设置全局的...
  • Java Stream 使用详解

    2021-01-20 03:44:34
    Stream是 Java 8新增加的类,用来补充集合类。  Stream代表数据流,流中的数据元素的数量可能是有限的,也可能是无限的。  Stream和其它集合类的区别在于:其它集合类主要关注与有限数量的数据的访问和有效管理...
  • Java 如何 定义 静态 map

    千次阅读 2016-01-28 00:28:18
    静态声明 集合 ,诸如Map public static final Map INIT_MAP = new HashMap(); static { INIT_MAP .put("rest_a", REST_A); INIT_MAP .put("rest_b", REST_B); }
  • GET 请求的参数对象定义: @Data @ApiModel public class Test { @NotEmpty(message = "手机号码不为空") @Size(min = 11,max = 11,message = "手机长度不合法") @ApiModelProperty(value = "手机号码") ...
  • java三个list集合拼接

    千次阅读 2021-01-15 14:51:18
    import java.io.Serializable; ; /** * * 项目名称: * * @className:AuthDeptDto @description: 机构管理前端交互类 * @author:pegnzhao @date:2020-03-05 16:39:43 */ @Getter @Setter @ToString @ApiModel...
  • Java中的static———静态变量

    千次阅读 2021-09-05 18:15:40
    引言 static 是 java 语言中的关键字,意思是“静态的”,它可以用来修饰变量、方法、代码块等,修饰的变量叫做静态变量,修饰的方法叫做静态方法,修饰的代码块叫做静态代码块。 初学static的最大的问题就是:...
  • 2.集合框架 3.集合接口 3.1Set和List的区别 4.常用集合实现类 4.1 ArrayList 4.2LinkedList 4.3 HashMap 4.4HashTable 4.5ConcurrentHashMap 4.6TreeMap 4.7HashSet 5.常用的五种并发包 5.1 ...
  • Drools语法篇之Global全局变量详解

    千次阅读 2021-03-25 10:19:35
    此语法是用来定义全局变量的,被用于提供应用程序对象的规则,一般来说,global是用于提供数据或者服务使用的规则,特别是应用程序服务中使用规则的后果,并返回数据规则, 全局变量不插入到工作记忆,因此全球不应该...
  • Java集合类详解

    千次阅读 2018-04-08 00:46:51
    Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象...
  • java 常见集合

    万次阅读 2019-07-17 15:30:12
    集合类存放于Java.util 包中,主要有3 种:set(集)、list(列表包含Queue)和map(映射)。 1. Collection:Collection 是集合List、Set、Queue 的最基本的接口。 2. Iterator:迭代器,可以通过迭代器遍历集合中的...
  • 线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,...
  • java每日一练:面试题集合

    千次阅读 2020-07-12 08:00:17
    异常的分类 7.15:17、描述Java中的三大集合(接口,实现类,存值特点,存值原理等角度描述) Set集合。其主要实现类有HashSet、TreeSet。 存放对象的引用,不允许有重复对象。 1.HashSet(),调用对象的hashCode...
  • 第1关:学习-Java类和对象之类的声明之学生类的定义 任务描述 相关知识 类 类的声明 变量 成员方法 编程要求 测试说明 任务描述 本关任务:定义一个 Student 学生公开类,该类具有学号 id(int...
  • Java 基础高频面试题(2022年最新版)

    万次阅读 多人点赞 2021-03-31 23:39:26
    最新 Java 基础高频面试题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,921
精华内容 48,768
关键字:

java定义全局集合