草庐IT

Immutability

全部标签

java - 如何从 Java 中的特定字符串中删除特定字符?

例如,我从一个文本文件中提取一个文本字符串,我需要这些词来形成一个数组。但是,当我这样做时,有些单词以逗号(,)或句号(.)结尾,甚至带有括号(这都是完全正常的)。我想要做的是摆脱那些字符。我一直在尝试使用Java中那些预定义的String方法来做到这一点,但我无法绕过它。 最佳答案 将变量重新分配给子字符串:s=s.substring(0,s.length()-1)也是解决问题的另一种方法:您可能还想考虑使用StringTokenizer读取文件并将分隔符设置为您不想成为单词一部分的字符。

java - 如何从 Java 中的特定字符串中删除特定字符?

例如,我从一个文本文件中提取一个文本字符串,我需要这些词来形成一个数组。但是,当我这样做时,有些单词以逗号(,)或句号(.)结尾,甚至带有括号(这都是完全正常的)。我想要做的是摆脱那些字符。我一直在尝试使用Java中那些预定义的String方法来做到这一点,但我无法绕过它。 最佳答案 将变量重新分配给子字符串:s=s.substring(0,s.length()-1)也是解决问题的另一种方法:您可能还想考虑使用StringTokenizer读取文件并将分隔符设置为您不想成为单词一部分的字符。

java - 为什么这个类是可变的?

这个问题在这里已经有了答案:WhywouldonedeclareanimmutableclassfinalinJava?(11个回答)关闭3年前。publicclassTest{privatefinalStringurl;publicTest(Stringurl){this.url=url;}publicStringgetUrl(){returnurl;}}Test类有:只有一个实例变量是私有(private)的和最终的。没有二传手。初始化实例变量的唯一方法是通过构造函数。一旦设置了URL,即使在getUrl中也无法修改它,即使该方法被任何Test子类覆盖。但是我正在阅读的一本书说上面

java - 为什么这个类是可变的?

这个问题在这里已经有了答案:WhywouldonedeclareanimmutableclassfinalinJava?(11个回答)关闭3年前。publicclassTest{privatefinalStringurl;publicTest(Stringurl){this.url=url;}publicStringgetUrl(){returnurl;}}Test类有:只有一个实例变量是私有(private)的和最终的。没有二传手。初始化实例变量的唯一方法是通过构造函数。一旦设置了URL,即使在getUrl中也无法修改它,即使该方法被任何Test子类覆盖。但是我正在阅读的一本书说上面

java - 为什么共享可变性不好?

我正在观看有关Java的演示文稿,有一次,讲师说:“可变性没问题,共享很好,共享可变性是魔鬼的工作。”他指的是下面这段代码,他认为这是一个“非常坏的习惯”://doubletheevenvaluesandputthatintoalist.Listnumbers=Arrays.asList(1,2,3,4,5,1,2,3,4,5);ListdoubleOfEven=newArrayList();numbers.stream().filter(e->e%2==0).map(e->e*2).forEach(e->doubleOfEven.add(e));然后他继续编写应该使用的代码,即:Li

java - 为什么共享可变性不好?

我正在观看有关Java的演示文稿,有一次,讲师说:“可变性没问题,共享很好,共享可变性是魔鬼的工作。”他指的是下面这段代码,他认为这是一个“非常坏的习惯”://doubletheevenvaluesandputthatintoalist.Listnumbers=Arrays.asList(1,2,3,4,5,1,2,3,4,5);ListdoubleOfEven=newArrayList();numbers.stream().filter(e->e%2==0).map(e->e*2).forEach(e->doubleOfEven.add(e));然后他继续编写应该使用的代码,即:Li

java - 不可变类的例子

我已经知道不可变类的定义,但我需要一些例子。 最佳答案 标准API中一些著名的不可变类:java.lang.String(已经提到)原始类型的包装类:java.lang.Integer、java.lang.Byte、java.lang.Character、java.lang.Short、java.lang.Boolean、java.lang.Long、java.lang.Double、java.lang.Floatjava.lang.StackTraceElement(用于构建异常堆栈跟踪)大多数枚举类是不可变的,但这实际上取决于具

java - 不可变类的例子

我已经知道不可变类的定义,但我需要一些例子。 最佳答案 标准API中一些著名的不可变类:java.lang.String(已经提到)原始类型的包装类:java.lang.Integer、java.lang.Byte、java.lang.Character、java.lang.Short、java.lang.Boolean、java.lang.Long、java.lang.Double、java.lang.Floatjava.lang.StackTraceElement(用于构建异常堆栈跟踪)大多数枚举类是不可变的,但这实际上取决于具

java - 为什么我们需要不可变的类?

我无法获得我们需要不可变类的场景。你有没有遇到过这样的要求?或者你能不能给我们任何我们应该使用这种模式的真实例子。 最佳答案 其他答案似乎过于专注于解释为什么不变性是好的。它非常好,我尽可能使用它。然而,这不是你的问题。我将逐点回答您的问题,以确保您得到所需的答案和示例。Iamunabletogetwhatarethescenarioswhereweneedanimmutableclass.“需要”在这里是一个相对的术语。不可变类是一种设计模式,与任何范式/模式/工具一样,它可以使构建软件更容易。类似地,在OO范式出现之前已经编写了

java - 为什么我们需要不可变的类?

我无法获得我们需要不可变类的场景。你有没有遇到过这样的要求?或者你能不能给我们任何我们应该使用这种模式的真实例子。 最佳答案 其他答案似乎过于专注于解释为什么不变性是好的。它非常好,我尽可能使用它。然而,这不是你的问题。我将逐点回答您的问题,以确保您得到所需的答案和示例。Iamunabletogetwhatarethescenarioswhereweneedanimmutableclass.“需要”在这里是一个相对的术语。不可变类是一种设计模式,与任何范式/模式/工具一样,它可以使构建软件更容易。类似地,在OO范式出现之前已经编写了