相关疑难解决方法(0)

Java是"通过引用传递"还是"传递价值"?

我一直认为Java是传递引用的.

但是,我看过一些博客文章(例如,这个博客)声称它不是.

我不认为我理解他们所做的区别.

解释是什么?

java methods parameter-passing pass-by-reference pass-by-value

6270
推荐指数
80
解决办法
189万
查看次数

如何在Java中复制对象?

请考虑以下代码:

DummyBean dum = new DummyBean();
dum.setDummy("foo");
System.out.println(dum.getDummy()); // prints 'foo'

DummyBean dumtwo = dum;
System.out.println(dumtwo.getDummy()); // prints 'foo'

dum.setDummy("bar");
System.out.println(dumtwo.getDummy()); // prints 'bar' but it should print 'foo'
Run Code Online (Sandbox Code Playgroud)

所以,我想复制dumdumtwo并更改dum而不影响dumtwo.但上面的代码并没有这样做.当我改变某些内容时dum,也会发生同样的变化dumtwo.

我想,当我说dumtwo = dum,Java 复制引用.那么,有没有办法创建一个新的副本dum并分配给它dumtwo

java clone copy object

763
推荐指数
18
解决办法
109万
查看次数

如何比较Java中的字符串?

==到目前为止,我一直在我的程序中使用运算符来比较我的所有字符串.但是,我遇到了一个错误,将其中一个更改为了.equals(),并修复了该错误.

==坏?什么时候应该不应该使用它?有什么不同?

java string equality

726
推荐指数
23
解决办法
376万
查看次数

Java中==和equals()之间有什么区别?

我想澄清一下我是否理解正确:

  • == - >是参考比较,即两个对象都指向相同的内存位置
  • .equals() - >计算对象中值的比较

我的理解是正确的吗?

java identity equality object-comparison

592
推荐指数
12
解决办法
62万
查看次数

如何在Java中创建对象的深层副本?

在java中,实现深层对象复制功能有点困难.您采取了哪些步骤来确保原始对象和克隆的对象没有共享?

java clone class

284
推荐指数
16
解决办法
31万
查看次数

用于交换原语的Java方法

如果没有我们可以通过引用传递的方法,如何在java中创建交换函数?有人可以给我一个代码吗?

swap(int a, int b)
{
     int temp = a;
     a = b;
     b = temp;
}
Run Code Online (Sandbox Code Playgroud)

但是由于java通过值传递,因此不会反映出这种变化

java

41
推荐指数
4
解决办法
10万
查看次数

为什么我们需要复制构造函数以及何时应该在java中使用复制构造函数

我正在浏览Copy Constructors,我已经浏览了堆栈中的链接和其他链接.但我不清楚以下几点.

  1. 为什么我们需要一个Copy Constructor
  2. 我们何时需要复制构造函数

我的意思是我们需要使用Copy Constructor的确切情况或场景是什么.有人可以用一个例子解释或指出链接,这样我就可以明确地理解它们.

以下是我为了解什么是复制构造函数而经历的链接.

http://www.programmerinterview.com/index.php/java-questions/how-copy-constructors-work/

https://deepeshdarshan.wordpress.com/2013/12/05/copy-constructors-in-java/

第二个链接解释了"为什么"和"在哪里"使用复制构造函数.但我仍然不清楚它.

下面是我的Employee.java类

package com.test;

/**
 * @author avinashd
 *
 */
public class Employee {

    private String rollNo;
    private String name;

    //constructor
    public Employee(String rollNo, String name){

        this.rollNo = rollNo;
        this.name = name;
    }

    //copy constructor
    public Employee(Employee employee){

    this.rollNo = employee.rollNo;
    this.name = employee.name;

    }

    public String getRollNo() {
        return rollNo;
    }

    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }

    public String getName() {
        return name;
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

java copy-constructor

34
推荐指数
3
解决办法
4万
查看次数

Java中的深度比较集

我在Java中有两组比较Item对象.是否有一个比较组,以该方法Itemequals方法被调用,而不是仅仅比较参考?

java collections

10
推荐指数
2
解决办法
5798
查看次数

布尔扩展函数

当我尝试创建扩展函数以设置布尔值true或false时,如下所示.

Boolean.setTrue(){
 this = true
}

Boolean.setFalse(){
 this = false
}
Run Code Online (Sandbox Code Playgroud)

它表示预期变量.如何实现这一目标.

boolean kotlin kotlin-extension

5
推荐指数
1
解决办法
906
查看次数

为什么Java中的"this"关键字是最终的?

这似乎是几乎没有人意识到的事情,但Java中的"这个参考"是最终的.在正常的编程日,我想我可以通过在自己的类中重新定义这个引用来重新定义整个实例:

public void method() {
    this = new MyObject("arg1", arg2, arg3); //it throws a compile error
}
Run Code Online (Sandbox Code Playgroud)

为什么这个引用在Java中是最终的?

java final

2
推荐指数
1
解决办法
263
查看次数

在 JAVA 中使用 this 更改 ENUM 类函数中的 ENUM 值

我有一个名为 entry 的 Java 枚举。我的目标是拥有一个将枚举值更改为另一个值的函数。如果我的枚举值为 X,我希望它变成 Y,反之亦然。我尝试编写的代码在这里。但这不会编译,它说在我使用过的地方预期变量this

public enum Entry {
    X,
    O;

    public void switchEntry(){
        this == Entry.X? this = Entry.O: Entry.X ;
    }
}
Run Code Online (Sandbox Code Playgroud)

另外我想知道是否可以在我的 ENUM 类中不使用额外的值变量。谢谢你。如果这是一个愚蠢的问题,请道歉。

java oop enums syntax-error

1
推荐指数
1
解决办法
64
查看次数