java中new对象怎么限制?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中new对象怎么限制?相关的知识,希望对你有一定的参考价值。

是限制对象的创建,比如说创建了只能创建3次,那么第四次就new不出来!

想实现这个功能的话,只能自己去封装这个对象。
如用工场模式
public class SomeThing
static int count = 0;
private SomeThing()

public SomeThing getInstance()
if(++count>=4)

return null;

return new SomeThing();


然后每次要创建对象只能用SomeThing.getInstance();
参考技术A 类修饰词可以控制类的访问,换言之不是在什么地方都可以创建此对象的。public,private……

在Java中怎样把数组转换为ArrayList

方法一:

ArrayList list = new ArrayList(Arrays.asList(array));

方法二:

public List getList(Object[] obj)throws Exception
        List list = new ArrayList();
        for(int i=0;i<obj.length;i++)
            list.add(obj[i]);
        return list;

参考技术A     private ArrayList<String> getArray(String[] str) 
        ArrayList<String> array = new ArrayList<String>();
        for (int i = 0; i < str.length; i++) 
            array.add(str[i]);
        
        return array;
    

根据你自己的需要,更改ArrayList内部的数据类型和数组的数据类型

参考技术B arraylist本身就是一个数组

只不过长度不定,可自动增长
参考技术C 参考Java API 原话:
public static <T> List<T> asList(T... a)
返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)
此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

例子:
public static void main(String[] args)
// 数组转换为List,其中参数为任意类型
List<String> list = Arrays.asList(new String[]"ss","sss");
// List转换为数组,参数指定数组的类型
String[] a = list.toArray(new String[0]);
// 打印
System.out.println(list);
for(String b : a)
System.out.print(b+" ");


本回答被提问者和网友采纳

以上是关于java中new对象怎么限制?的主要内容,如果未能解决你的问题,请参考以下文章

一个关于java的new对象的问题,以及怎么有效减少不必要的内存占用

new一个JAVA对象的时候,内存是怎么分配的?

java每次都new出个对象干嘛

JAVA重复 new 会怎么样

Java 在new对象的时候内存分配

java创建对象时,new 出一个对象 和 = null的区别