java - 如何为多个变量设置相同的值?
问题描述
原始代码 - 尝试将每个设置inp
为name()
import java.util.Scanner;
class U1_L2_Activity_Two {
public static void main(String[] args) {
String inp1, inp2, inp3 = name()*3;
System.out.println(String.format("%s\n%s\n%s\n\n%s %s %s", inp1, inp2, inp3, inp3, inp2, inp1));
}
public static String name() {
return new Scanner(System.in).nextLine();
}
}
想要类似的东西:
String inp1, inp2, inp3 = name()*3;
代替:
String inp1 = name(), inp2 = name(), inp3 = name();
解决方案
你可以这样做:
String inp1, inp2, inp3 = inp2 = inp1 = name();
字符串不是这种情况(因为它们是不可变的),但请注意,它们都有相同的引用,所以如果你改变一个,你就会改变其他的。如果您不希望这样,则需要单独分配它们(如果我错了,请纠正我)。例如:
List<Integer> a, b = a = new ArrayList<>();
a.add(5); // 5 will also be added to b
推荐阅读
- ios - 具有异步 UIImageView 的自动布局 UITableViewCell 不起作用
- visual-studio - Visual Studio 2017 构建工具是否仍可供下载?
- c - 使用逻辑运算符和前/后增量未从此代码获得预期输出
- reactjs - React - 路由渲染组件的调用方法
- javascript - 从表中的动态下拉列表中获取选定的值
- react-native - Apollo GraphQL 客户端格式请求不正确
- asp.net-core - ASP.NetCore 2.x 脚手架 DB 和 appsettings.json
- html - 下拉菜单适用于 Safari 但不适用于 Chrome
- debugging - 如何在 Aptana Studio 3 中以调试模式启动 Rails 服务器?
- laravel - SplFileInfo::getSize(): tmp\php1D18.tmp 的统计失败