当前位置:懂科普 >

IT科技

> java mono

java mono

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java mono是什么,让我们一起了解一下?

Mono是包含0或者1个元素的异步序列。该序列中同样可以包含与Flux相同的三种类型的消息通知,Flux和Mono之间可以进行转换,对一个Flux序列进行计数操作,得到的结果是一个 Mono

如何通过Mono静态方法创建?

1、empty():创建一个不包含任何元素,只发布结束消息的序列。

2、just():可以指定序列中包含的全部元素。创建出来的 Mono序列在发布这些元素之后会自动结束。

3、justOrEmpty():从一个 Optional 对象或可能为 null 的对象中创建 Mono。只有 Optional 对象中包含值或对象不为 null 时,Mono 序列才产生对应的元素。

java mono

4、error(Throwable error):创建一个只包含错误消息的序列。

5、never():创建一个不包含任何消息通知的序列。

6、fromCallable()、fromCompletionStage()、fromFuture()、fromRunnable()和 fromSupplier():分别从 Callable、CompletionStage、CompletableFuture、Runnable 和 Supplier 中创建 Mono。

7、delay(Duration duration)和 delayMillis(long duration):创建一个 Mono 序列,在指定的延迟时间之后,产生数字 0 作为唯一值。

实战操作,示例代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;using Java.Util;namespace AndroidHotelServiceTest{[Activity(Label = "My Activity")]public class ActivityCalendar : Activity{protected override Dialog OnCreateDialog(int id){if (id == 1){return new DatePickerDialog(this, new DDialogLisetener(this), 2013, 11, 11);}return base.OnCreateDialog(0);}protected override void OnCreate(Bundle bundle){base.OnCreate(bundle);// Create your application hereSetContentView(Resource.Layout.CalendarView);Button button = FindViewById(Resource.Id.btClose);button.Click += delegate{Intent intent = new Intent();intent.SetClass(this, typeof(ActivityHotel));StartActivity(intent);};ShowDialog(1);}}public class DDialogLisetener : DatePickerDialog.IOnDateSetListener{private Context _context;public DDialogLisetener(Context context){_context = context;}public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth){String sDayOfWeek = getDayOfWeek(year, monthOfYear, dayOfMonth);//Toast.makeText(CreateParty.this, "sdf", Toast.LENGTH_LONG).show();int m_nYear = year;int m_nMonth = monthOfYear + 1;int m_nDay = dayOfMonth;Toast.MakeText(_context, "ddd", ToastLength.Long).Show();Toast.MakeText(_context, m_nYear + "年" + m_nMonth + "月" + m_nDay + "日 ", ToastLength.Long).Show();}private string getDayOfWeek(int tmpYear, int tmpMonth, int tmpDay){String myWeek = null;String sYear = tmpYear.ToString();// 取年的后两位String sYearTwo = sYear.Substring(sYear.Length - 2);int y = tmpYear;int m = tmpMonth + 1;int c = 20;int d = tmpDay;int w = (y + (y / 4) + (c / 4) - 2 * c+ (26 * (m + 1) / 10) + d - 1) % 7;switch (w){case 0:myWeek = "日";break;case 1:myWeek = "一";break;case 2:myWeek = "二";break;case 3:myWeek = "三";break;case 4:myWeek = "四";break;case 5:myWeek = "五";break;case 6:myWeek = "六";break;default:break;}return myWeek;}public void Dispose(){this.Dispose();}public IntPtr Handle{get { return IntPtr.Zero; }}}}

标签: java mono
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/veg8r9.html