如何编辑java.util.package

如何编辑java.util.package,java,package,Java,Package,我有一个类,它包含一些有用的方法。下面是代码: import java.util.Vector; import java.util.Scanner; public class bk { private static int iAsLoopRunner=0; static Scanner takeInput=new Scanner(System.in); public static void print_int(int arr[]) { for(i

我有一个类,它包含一些有用的方法。下面是代码:

import java.util.Vector;
import java.util.Scanner;

public class bk {
    private static int iAsLoopRunner=0;
    static Scanner takeInput=new Scanner(System.in);
    public static void print_int(int arr[])
    {
        for(iAsLoopRunner=0;iAsLoopRunner<arr.length;iAsLoopRunner++)
        {
            System.out.print(arr[iAsLoopRunner]+" "+"|"+" ");
        }
        System.out.println();
    }
    public static void print_float(float arr[])
    {
        for(iAsLoopRunner=0;iAsLoopRunner<arr.length;iAsLoopRunner++)
        {
            System.out.print(arr[iAsLoopRunner]+" "+"|"+" ");
        }
        System.out.println();
    }
    public static void print_string(String arr[])
    {
        for(iAsLoopRunner=0;iAsLoopRunner<arr.length;iAsLoopRunner++)
        {
            System.out.print(arr[iAsLoopRunner]+" "+"|"+" ");
        }
        System.out.println();
    }
    public static void print_double(double arr[])
    {
        for(iAsLoopRunner=0;iAsLoopRunner<arr.length;iAsLoopRunner++)
        {
            System.out.print(arr[iAsLoopRunner]+" "+"|"+" ");
        }
        System.out.println();
    }
    public static void print_long(long arr[])
    {
        for(iAsLoopRunner=0;iAsLoopRunner<arr.length;iAsLoopRunner++)
        {
            System.out.print(arr[iAsLoopRunner]+" "+"|"+" ");
        }
        System.out.println();
    }
    public static void print_vector(Vector arr)
    {
        for(iAsLoopRunner=0;iAsLoopRunner<arr.size();iAsLoopRunner++)
        {
            System.out.print(arr.get(iAsLoopRunner)+" "+"|"+" ");
        }
        System.out.println();
    }
    public static void sop(Object obj)
    {
        System.out.print(obj+" ");
    }
    public static void sopln(Object obj)
    {
        System.out.println(obj);
    }
    public static int[] getInt(int arraySize)
    {
        int arrayToReturn[]=new int[arraySize];
        for(iAsLoopRunner=0;iAsLoopRunner<arraySize;iAsLoopRunner++)
        {
            arrayToReturn[iAsLoopRunner]=takeInput.nextInt();
        }
        return arrayToReturn;
    }
    public static String[] getString(int arraySize)
    {
        String arrayToReturn[]=new String[arraySize];
        for(iAsLoopRunner=0;iAsLoopRunner<arraySize;iAsLoopRunner++)
        {
            arrayToReturn[iAsLoopRunner]=takeInput.next();
        }
        return arrayToReturn;
    }
    public static float[] getFloat(int arraySize)
    {
        float arrayToReturn[]=new float[arraySize];
        for(iAsLoopRunner=0;iAsLoopRunner<arraySize;iAsLoopRunner++)
        {
            arrayToReturn[iAsLoopRunner]=takeInput.nextFloat();
        }
        print_float(arrayToReturn);
        System.out.println("done ;)");
        return arrayToReturn;
    }
    public static long[] getLong(int arraySize)
    {
        long arrayToReturn[]=new long[arraySize];
        for(iAsLoopRunner=0;iAsLoopRunner<arraySize;iAsLoopRunner++)
        {
            arrayToReturn[iAsLoopRunner]=takeInput.nextLong();
        }
        print_long(arrayToReturn);
        System.out.println("done ;)");
        return arrayToReturn;
    }
    public static double[] getDouble(int arraySize)
    {
        double arrayToReturn[]=new double[arraySize];
        for(iAsLoopRunner=0;iAsLoopRunner<arraySize;iAsLoopRunner++)
        {
            arrayToReturn[iAsLoopRunner]=takeInput.nextDouble();
        }
        print_double(arrayToReturn);
        System.out.println("done ;)");
        return arrayToReturn;
    }
}
import java.util.Vector;
导入java.util.Scanner;
公共类bk{
私有静态int iAsLoopRunner=0;
静态扫描仪输入=新扫描仪(System.in);
公共静态无效打印\u int(int arr[]
{

对于(iAsLoopRunner=0;iAsLoopRunner,打包的
java.util
是java语言的核心包。
不要尝试使用它,因为首先你不能(不允许)使用它,其次,将核心类与自定义类耦合是一种不好的做法。

这是两个不同的层。尝试将它们混合在一起对开发人员来说非常容易出错。
例如,如何将util类与jdk util类区别开来?如果jdk API更新,如何处理冲突?
假设您希望这些util类有两个不同的版本,在您的解决方案中,您也不能这样做,因为所有这些都在JDK中。
最后,对于Maven或Gradle等现代构建工具来说,它显然不是一个约定的、可用的解决方案,在这里您可以指定依赖的库。


如果您想在任何项目中重用抽象类,最好在自定义包中添加抽象类并创建一个特定的库(JAR)。java.util
打包是java语言的核心包。
不要尝试使用它,因为首先你不能(不允许)使用它,其次,将核心类与自定义类耦合是一种不好的做法。

这是两个不同的层。尝试将它们混合在一起对开发人员来说非常容易出错。
例如,如何将util类与jdk util类区别开来?如果jdk API更新,如何处理冲突?
假设您希望这些util类有两个不同的版本,在您的解决方案中,您也不能这样做,因为所有这些都在JDK中。
最后,对于Maven或Gradle等现代构建工具来说,它显然不是一个约定的、可用的解决方案,在这里您可以指定依赖的库。


您应该在自定义包中添加抽象类,并创建一个特定的库(JAR)如果您想在任何项目中重复使用它。

完全没有必要。将它放在您自己的包中,从那里导入。您可以在应用程序中创建该包并将类放在那里-但是为什么您首先要这样做?为什么不使用自定义包?“这有助于编写更少的代码”-你这是什么意思?顺便说一句,你可能想了解一下你的命名。像
bk
这样的类名不会告诉你太多,也不会遵守Java代码约定,即类名应该以大写字母开头(从长远来看,这将对你有所帮助),方法名称通常不包含下划线,我个人会写
double[]arr
而不是
double[]arr
,因为这样更清楚的是
arr
是名称,而
double[]
是类型。另一个建议是:您可能希望对
列表
实例进行操作,而不是使用不推荐的
向量
,最好使用一些泛型类型。我过去创建了很多项目,所以我想让它有点像全局的。因此,我不需要每次都将包导入每个项目。绝对没有必要。将它放入在您自己的包中,从那里导入。您可以在应用程序中创建该包并将类放在那里-但为什么您首先要这样做?为什么不使用自定义包?“这样可以简化代码编写”-你这是什么意思?顺便说一句,你可能想了解一下你的命名。像
bk
这样的类名不会告诉你太多,也不会遵守Java代码约定,即类名应该以大写字母开头(从长远来看,这将对你有所帮助),方法名称通常不包含下划线,我个人会写
double[]arr
而不是
double[]arr
,因为这样更清楚的是
arr
是名称,而
double[]
是类型。另一个建议是:您可能希望对
列表
实例进行操作,而不是使用不推荐的
向量
,最好使用一些泛型类型。我曾经创建过很多项目,所以我想让它有点像全局的。因此,我不需要每次都将包导入每个项目。请建议我一种使用singl的方法在我的电脑中的任何地方进行e打包,而不复制粘贴每个项目中的全部代码。按照建议,创建一个库:一个包含在所有项目中的jar,就像您实际包含JDK jar一样。但这与包含该包几乎相同。这没有多大区别:(编译是的,但通过引入一个库,您可以清楚地区分哪些来自JDK,哪些来自您的类,以及如前所述,如果JDK API更新,如何处理冲突?如果您使用两个不同的包,您就没有这些问题。假设您想拥有这些util类的两个不同版本,那么您的解决方案就无法解决这些问题两者都不是。@bharath有一个巨大的区别:如果你创建一个jar,你必须传递一个文件,并且可以使用该jar中的所有类。如果你想将项目移动到另一台机器上,你也只需要移动一个文件。如果你使用像Maven这样的依赖关系管理器(尽管Maven更重要)您甚至不必手动复制文件,只需将其上载到存储库,并让每个项目将其声明为依赖项。请建议我如何在pc中的任何位置使用单个软件包,而无需复制粘贴每个项目中的全部代码。按照建议,创建一个库:一个jar,您可以将其包含在所有项目中de JDK jars实际上是。但这与包含包几乎相同。这没有多大区别..:(编译是的,但通过引入一个库,您可以清楚地区分哪些来自JDK,哪些来自您的类,以及如前所述,如果JDK API更新,如何处理冲突?如果您使用两个不同的包,则没有这些问题。假设您