我猜这个例子(从书的章节中)有些不对或者我错过了一些东西:
Prelude> let wordSet = foldl (\s e -> Data.Set.insert e s) Data.Set.empty
Run Code Online (Sandbox Code Playgroud)
然后:
Prelude> wordSet ["blue", "blue", "red", "blue", "red"]
不管用.它将失败并出现错误:
无法将预期类型'()'与实际类型`[Char]'匹配
似乎wordSet函数没有任何期望参数通过?
仍然不明白为什么Data.Set.empty是第二个foldl但不是第一个.我们如何将东西传递给wordSet.
问:它应该如何运作?
我成功地从头开始创建了一个LinkedList.到目前为止,它只能添加数据.没有删除或任何类似的东西.
我可以添加字符串,整数等但我有打印我添加的数据的问题.我怎么做?我想我必须首先完成它,但是怎么样?
这是我的Node类:
public class Node {
T data;
Node<T> nextNode;
public Node(T data) {
this.data = data;
}
public String toString () {
return data +"";
}
}
Run Code Online (Sandbox Code Playgroud)
这是LinkedList类:
public class LinkedList <T> {
Node<T> head;
Node<T> tail;
public void add (T data) {
// where to add statements. if its empty or not
Node<T> node = new Node<T> (data);
if (tail == null) { // empty list
// nothng in the node = tail = node;
head = …Run Code Online (Sandbox Code Playgroud) 我有 2 个片段的一项主要活动。两个片段都有一个ListView. 我想更新MainActivity. 有没有办法在活动中访问片段列表适配器,而无需将适配器设为静态适配器。目前我正在这样做Mainactivity.java
public void updatelist() {
if(fragmentstate=0)
Fragment1.adapter.notifyDataSetChanged();
else
Fragment2.adapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud) 我刚刚从Eclipse切换到Android Studio.就我今天所看到的而言,新IDE具有比Eclipse更多的功能,我喜欢使用新的IDE进行应用程序开发工作.
我只是无法理解一件事:在Eclipse中,有一个非常有用的DDMS透视图,从那里读取Logcat并执行许多其他操作,例如使用非常有用的dump view hierarchy函数,它允许您转储UI并检查它以了解在您的布局中显示的位置.
我在Android Studio中没有看到类似内容,经过大量研究后,您必须这样做的唯一方法是从"工具"菜单中打开Android设备监视器.
但这样做会导致ADB连接中断,因为Android Studio正在使用它,Android设备监视器希望使用它.结果是,如果您正在调试您的应用程序,除非您想要失去调试状态,否则无法打开Android设备监视器.
我认为这是不可接受的,我确信必须有更好的方法将Android设备监视器工具与Android一起使用,这可能吗?
谢谢
标题并不是我的全部问题。从理论上讲,我知道如何组织代码,但我想要一些具体的、有用的指针。请在抱怨之前继续阅读。
我是 java 和 OOP(面向对象编程)的初学者,我真的很想学习如何更好地组织我的代码!在一两个月的时间里,我制作了一个计算器程序,里面有一些我想到的小功能,还内置了一些小笑话。第二次查看后,我意识到它的格式非常糟糕,几乎难以理解。如果可以的话,我想请一些更有经验的程序员为我指明正确的方向,告诉我应该做什么来修复它(例如,我可以把什么东西变成物体,我可以在哪里划分,等等)。
请注意,这是我第一次在这样的论坛上发帖,所以如果我需要澄清一些事情来帮助我,我做错了什么,我要求太多,请告诉我,以便我可以解决它我可以获得帮助。请不要只是将其标记为无效并将其归档以遗忘(就像 stackoverflow 中经常发生的那样)。另外,在有人问之前,不,这不是家庭作业,它是我自己自学 java 的成果(可能是为什么它效果不太好)。
这是源代码:
// This is the original Calculator code without objects in a single class. not really efficient...
package randomClasses;
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;
@SuppressWarnings("serial")
public class CalcClass
extends JFrame
implements ActionListener {
JPanel[] row = new JPanel[6];
JButton[] button = new JButton[21];
String[] buttonString = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", ".", "/", "C", "v", "+/-", "=", "0", …Run Code Online (Sandbox Code Playgroud) 我正在尝试从服务器(JSON)获取 RealmList 的 RealmList 到领域对象。我正进入(状态
错误:RealmList 的元素类型必须是实现“RealmModel”的类或“java.lang.String”、“byte[]”、“java.lang.Boolean”、“java.lang.Long”、“java”之一.lang.Integer'、'java.lang.Short'、'java.lang.Byte'、'java.lang.Double'、'java.lang.Float'、'java.util.Date'。
{
"facilities": [
{
"facility_id": "1",
"name": "Property Type",
"options": [
{
"name": "Apartment",
"icon": "apartment",
"id": "1"
},
{
"name": "Condo",
"icon": "condo",
"id": "2"
},
{
"name": "Boat House",
"icon": "boat",
"id": "3"
},
{
"name": "Land",
"icon": "land",
"id": "4"
}
]
},
{
"facility_id": "2",
"name": "Number of Rooms",
"options": [
{
"name": "1 to 3 Rooms",
"icon": "rooms",
"id": "6"
},
{
"name": "No Rooms",
"icon": "no-room",
"id": …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 minikube 上启动并运行 keycloak。
我正在安装keycloak
helm upgrade -i -f kubernetes/keycloak/values.yaml keycloak stable/keycloak --set keycloak.persistence.dbHost=rolling-newt-postgresql
我在仪表板中看到一条错误消息:
卷“realm-secret”的 MountVolume.SetUp 失败:未找到机密“realm-secret”
在我的values.yaml我有这个配置:
extraVolumes: |
- name: realm-secret
secret:
secretName: realm-secret
- name: theme
emptyDir: {}
- name: spi
emptyDir: {}
extraVolumeMounts: |
- name: realm-secret
mountPath: "/realm/"
readOnly: true
- name: theme
mountPath: /opt/jboss/keycloak/themes/mytheme
- name: spi
mountPath: /opt/jboss/keycloak/standalone/deployments
Run Code Online (Sandbox Code Playgroud)
我也有一个realm.json文件。
题
real.json在安装 keycloak 之前,我需要对这个文件做什么?我怎么做 ?
我正在关注GithubBrowserSample。我所做的唯一更改是不使用NavHostFragment. 我在运行时添加片段,但代码没有编译,也没有这样有用的错误日志
应用
open class SCApp : Application(), HasActivityInjector, HasServiceInjector {
@Inject
protected lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Activity>
@Inject
protected lateinit var dispatchingServiceInjector: DispatchingAndroidInjector<Service>
override fun onCreate() {
super.onCreate()
AppInjector.init(this)
}
override fun activityInjector() = dispatchingAndroidInjector
override fun serviceInjector() = dispatchingServiceInjector
}
Run Code Online (Sandbox Code Playgroud)
活动
class IncomingLeadActivity : AppCompatActivity(), HasSupportFragmentInjector {
lateinit var binding: ActivityIncomingLeadBinding
private lateinit var incomingLeadViewModel: IncomingLeadViewModel
@Inject
lateinit var viewModelFactory: ViewModelProvider.Factory
@Inject
lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Fragment>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码:
suspend fun <T> SavedStateHandle.getStateFlow(
key: String,
initialValue: T? = get(key)
): MutableStateFlow<T?> = this.let { handle ->
withContext(Dispatchers.Main.immediate) {
val liveData = handle.getLiveData<T?>(key, initialValue).also { liveData ->
if (liveData.value === initialValue) {
liveData.value = initialValue
}
}
val mutableStateFlow = MutableStateFlow(liveData.value)
val observer: Observer<T?> = Observer { value ->
if (value != mutableStateFlow.value) {
mutableStateFlow.value = value
}
}
liveData.observeForever(observer)
mutableStateFlow.also { flow ->
flow.onCompletion {
withContext(Dispatchers.Main.immediate) {
liveData.removeObserver(observer)
}
}.onEach { value ->
withContext(Dispatchers.Main.immediate) {
if (liveData.value != …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack viewmodel-savedstate kotlin-flow
在java.util.Date:
* In all methods of class <code>Date</code> that accept or return
* year, month, date, hours, minutes, and seconds values, the
* following representations are used:
* <ul>
* <li>A year <i>y</i> is represented by the integer
* <i>y</i><code>-1900</code>.
Run Code Online (Sandbox Code Playgroud)
当然,在Java 1.1中,getYear()方法等被弃用了java.util.Calendar,这仍然有这个奇怪的弃用说明:
int getYear()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) - 1900.
setYear(int year)
Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.YEAR, year + 1900).
Run Code Online (Sandbox Code Playgroud)
当然,以月为0基础,但我们都知道(虽然你认为他们已经解决了这个问题Calendar- …